functor (M : S2-> Gen(M.T).S