Eval.Make2Make2(M) provides an implementation of the S2 interface lifted into the monad M.
module M : Monads.Std.Monad.S2class type ['a, 'r] semantics = ['a, 'r] T2(M).semanticsclass type virtual ['a, 'r, 's] domain = ['a, 'r, 's] T2(M).domainclass virtual ['a, 'r, 's] t : object ... enda virtual base class for all evaluators