- replace switch (smth) { case ? : true; case _: false } by smth.match(?)
- replace switch ({f:..., s:...}) by switch [..., ...]
- ensure var old = ... doesn't require cloning
- ensure equality works as expected
- use strict equality when asked for
- (a || b) in ocaml is (b || a) in haxe
- note: a == [] doesn't work with immutable list
- possible problem in function check_overflow with int32/64
- use the type T as the class definition for typedef use abstract for enum?