class virtual[['i, 'o]]next :object..end
Use inherit ['i, 'o] next to derive a class that implements an
intermediate state in a machine.
method private virtual guard : ('i, 'o, unit) guardThe guard evaluated by this state of the machine.
method next : 'a. ('i, 'o, 'a) tUse obj#next to transition the state of the gadget by applying
Cf_state_gadget.guard self#guard.