option
Functor Monoid
ordering
Monoid