It generally holds that if two hashable objects are equal, their hashes must be the same.
It seems that python builtin float and symengine.Float violate this rule:
from symengine import Float
Float(2.2) == 2.2 # True
hash(Float(2.2)) == hash(2.2) # False
Shouldn't the hash of a symengine.Float just use the python float's hash?