Hi folks.
It looks like === is still a referential comparison in rescript? is that right?
Would a warning be appropriate? I was tripped up to be doing referential comparison on things where I was not otherwise considering ref. Esp weird in using Option which is like a newtype causing ref comparison between inner values.
== is structural equality and almost always what is wanted.
=== is reference (or physical) equality and checks that the LHS and RHS are pointing to the same location in memory and is almost never what is wanted.
We mention the == / === equality in the Language overview (aka. ReScript / JS comparison table). We should probably add a more thorough doc section on shallow / deep equality somewhere.
EDIT: Actually everything is described in the Primitive Types section, even with concrete examples.