Eval.S2
An interface of a basic evaluator in a T1
monad
class type ['a, 'r] semantics = ['a, 'r] T2(M).semantics
class type virtual ['a, 'r, 's] domain = ['a, 'r, 's] T2(M).domain
class virtual ['a, 'r, 's] t : object ... end
a virtual base class for all evaluators