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