Equality should take into account types
Currently, the Equality expression conversion ignores the types, which leads to unexpected behaviors.
- Equality between types with a common supertype should be handled as an equality between elements of that supertype (hence equality between subtyped values)
- Improperly typed equalities should either be rejected, or return false (as with a type Any supertype of all types)