Operator overload in types, closes #583