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