object ('b)
  method private virtual guard : ('b, 'i, 'o, unit) Cf_state_gadget.guard
  method next : ('b, 'i, 'o, 'a) Cf_state_gadget.t
end