  Inspired by the classical theory of modules over a monoid, we give a first
account of the natural notion of module over a monad. The associated notion of
morphism of left modules ("Linear" natural transformations) captures an
important property of compatibility with substitution, in the heterogeneous
case where "terms" and variables therein could be of different types as well as
in the homogeneous case. In this paper, we present basic constructions of
modules and we show examples concerning in particular abstract syntax and
lambda-calculus.
