('a, 'b, 'c) Cf_gadget.wire_t -> object method check : bool method get : ('a -> ('d, 'b, 'c, unit) Cf_gadget.t) -> ('d, 'b, 'c, unit) Cf_gadget.guard_t method id : string end