Legend:
Library
Module
Module type
Parameter
Class
Class type
Make is a functor to produce further M-like modules, but with parameter functions returning into a different monad. E.g., given module SeqMon = Make(Mon) and module SeqMonMun = SeqMon.Make(Mun) then SeqMonMun.map has type ('a -> 'b Mun.t) -> 'a t -> 'b t.
Note that the functor parameter includes the necessary machinery to bundle the two monads together.
See the documentation of Sigs1.SEQMON1TRANSFORMERS for more details.
Any monad that we can use to produce transformers, we can also use to produce traversors. Thus, SEQMON1TRANSFORMERS includes SEQMON1TRAVERSORS and all the functors producing transformer also produce traversors.