Many of the libraries methods are reliant on both operator<, operator==, and operator!=. Ideally reliance should only be on operator< - in a similar way to std::sort andstd::set. This is annoying as it requires users to define all these operators for Mappable types. Currently the easiest way to do this is to inherit from Comparable and implement operator< and operator==.