sig
  val ( -*- ) :
    ('i, 'o) Cf_flow.t -> ('i, 'o) Cf_flow.t -> ('i, 'o) Cf_flow.t
  val ( -=- ) :
    ('i, 'x) Cf_flow.t -> ('x, 'o) Cf_flow.t -> ('i, 'o) Cf_flow.t
  val ( -&- ) :
    ('i, 'o) Cf_flow.t -> ('i, 'o) Cf_flow.t -> ('i, 'o) Cf_flow.t
  val ( -+- ) :
    ('ia, 'oa) Cf_flow.t ->
    ('ib, 'ob) Cf_flow.t ->
    (('ia, 'ib) Cf_either.t, ('oa, 'ob) Cf_either.t) Cf_flow.t
  val ( ~@ ) : ('x, 'x) Cf_flow.t -> ('x, 'x) Cf_flow.t
  val ( ~@< ) :
    (('x, 'i) Cf_either.t, ('x, 'o) Cf_either.t) Cf_flow.t ->
    ('i, 'o) Cf_flow.t
  val ( -@- ) :
    (('o0, 'i1) Cf_either.t, ('i0, 'o1) Cf_either.t) Cf_flow.t ->
    ('i0, 'o0) Cf_flow.t -> ('i1, 'o1) Cf_flow.t
end