Helper methods on unary and binary ops
Hashcode and equals for values