('x, 'i, 'o) Cf_state_gadget.wire -> object method check : bool method get : ('x -> ('s, 'i, 'o, unit) Cf_state_gadget.t) -> ('s, 'i, 'o, unit) Cf_state_gadget.guard method id : string end