The principle behind algebraic language theory for various kinds of
structures, such as words or trees, is to use a compositional function from the
structures into a finite set. To talk about compositionality, one needs some
way of composing structures into bigger structures. It so happens that category
theory has an abstract concept for this, namely a monad. The goal of this paper
is to propose monads as a unifying framework for discussing existing algebras
and designing new algebras