Provides typeclass for and several implementations of composable maps and generic tries. OrdMap is roughly equivalent to Data.Map . ListMap, EitherMap, MaybeMap, TupleMap and EnumMap allow you to break down the corresponding types. InjectKeys is the easiest way to define tries on your own types, see EitherMap for a simple example. ChoiceMap and TupleMap correspond to sum and product types, respectively. The type-level syntax for creating maps is currently unwieldy. This will improve significantly in the next version.