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) guard
The guard evaluated by this state of the machine.
method next : 'a. ('i, 'o, 'a) t
Use obj#next
to transition the state of the gadget by applying
Cf_state_gadget.guard
self#guard
.