functor (M1 : T) (M2 : T-> T