Hello, Is it possible to overload (==) to a type other than a -> a -> Bool? I have an abstract datatype that somewhat behaves like a C integer: a comparison returns a boolean represented as the same datatype: (==) :: my_type -> my_type -> my_type Thanks for any help! -Tom