functor (M : Monoid.T-> T