Expi.Evalclass type ['a, 'r] semantics = ['a, 'r] Eval.T2(M).semanticsclass type virtual ['a, 'r, 's] domain = ['a, 'r, 's] Eval.T2(M).domainclass type virtual ['a, 'r, 's] eff = ['a, 'r, 's] Eval.T2(M).effclass virtual ['a, 'r, 's] t : object ... enda virtual base class for all evaluators