('a, 'b, 'c) Cf_state_gadget.wire -> object method check : bool method get : ('a -> ('d, 'b, 'c, unit) Cf_state_gadget.t) -> ('d, 'b, 'c, unit) Cf_state_gadget.guard method id : string end