sig
  val ( -*- ) :
    ('a, 'b) Cf_flow.t -> ('a, 'b) Cf_flow.t -> ('a, 'b) Cf_flow.t
  val ( -=- ) :
    ('a, 'b) Cf_flow.t -> ('b, 'c) Cf_flow.t -> ('a, 'c) Cf_flow.t
  val ( -&- ) :
    ('a, 'b) Cf_flow.t -> ('a, 'b) Cf_flow.t -> ('a, 'b) Cf_flow.t
  val ( -+- ) :
    ('a, 'b) Cf_flow.t ->
    ('c, 'd) Cf_flow.t ->
    (('a, 'c) Cf_either.t, ('b, 'd) Cf_either.t) Cf_flow.t
  val ( ~@ ) : ('a, 'a) Cf_flow.t -> ('a, 'a) Cf_flow.t
  val ( ~@< ) :
    (('a, 'b) Cf_either.t, ('a, 'c) Cf_either.t) Cf_flow.t ->
    ('b, 'c) Cf_flow.t
  val ( -@- ) :
    (('a, 'b) Cf_either.t, ('c, 'd) Cf_either.t) Cf_flow.t ->
    ('c, 'a) Cf_flow.t -> ('b, 'd) Cf_flow.t
end