Currently, the expression hash.contains(5) gets translated to contains(hash).eval(&5). If you understand that context, it makes sense. If you are coming from another language that uses in or contains operators, it gets confusing (the expression 4 < 5 gets translated to: lt(5).eval(&4))
- Some languages have an
in operator. So 5 in hash would naturally translate to in(hash).eval(&5).
- Some languages flip that and have a
contains operator. So hash contains 5 would naturally translate to contains(5).eval(&hash).
Currently, the expression
hash.contains(5)gets translated tocontains(hash).eval(&5). If you understand that context, it makes sense. If you are coming from another language that usesinorcontainsoperators, it gets confusing (the expression4 < 5gets translated to:lt(5).eval(&4))inoperator. So5 in hashwould naturally translate toin(hash).eval(&5).containsoperator. Sohash contains 5would naturally translate tocontains(5).eval(&hash).