int _GetHashCode(BinaryExp obj) => HashCode.Combine( obj.GetType(), GetHashCode(obj.Left), GetHashCode(obj.Right));
bool _Equals(BinaryExp l, BinaryExp r) => Equals(l.Left, r.Left) && Equals(l.Right, r.Right);