sig
class virtual ['a, 'b] substate :
object ('c) method virtual next : ('c, 'a, 'b, unit) Cf_gadget.t end
class virtual ['a, 'b] state :
object ('c)
method private virtual guard : ('c, 'a, 'b, unit) Cf_gadget.guard_t
method next : ('c, 'a, 'b, unit) Cf_gadget.t
end
class ['a, 'b] initial :
object ('c)
method private guard : ('c, 'a, 'b, unit) Cf_gadget.guard_t
method next : ('c, 'a, 'b, unit) Cf_gadget.t
method start : ('d, 'a, 'b, unit) Cf_gadget.t
end
end