empty
Monoid
endo
Monoid