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