object ('a)
  method private virtual guard : ('a, 'b, 'c, unit) Cf_state_gadget.guard
  method start : ('d, 'b, 'c, unit) Cf_state_gadget.t
end