sig
  type 'a t constraint 'a = 'b -> 'c
  type 'a elem
  type initial
  type 'a shtream
  type 'a coshtream
  type procref = Channel.procref
  type text = FittingSig.S.initial FittingSig.S.elem
  val ( -| ) :
    ('a -> 'b) FittingSig.S.t ->
    ('b -> 'c) FittingSig.S.t -> ('a -> 'c) FittingSig.S.t
  val pipe :
    ('i -> 'm) FittingSig.S.t ->
    ('m -> 'o) FittingSig.S.t -> ('i -> 'o) FittingSig.S.t
  val from_file : string -> ('i -> FittingSig.S.text) FittingSig.S.t
  val from_null : ('i -> FittingSig.S.text) FittingSig.S.t
  val from_gen :
    Channel.dup_in_source -> ('i -> FittingSig.S.text) FittingSig.S.t
  val from_shtream : 'o FittingSig.S.shtream -> ('i -> 'o) FittingSig.S.t
  val to_file :
    ?clobber:Channel.clobber_spec ->
    string -> ('i FittingSig.S.elem -> 'o) FittingSig.S.t
  val to_null : ('i FittingSig.S.elem -> 'o) FittingSig.S.t
  val to_stderr : ('i FittingSig.S.elem -> 'o) FittingSig.S.t
  val to_gen :
    Channel.dup_out_source -> ('i FittingSig.S.elem -> 'o) FittingSig.S.t
  val to_coshtream : 'i FittingSig.S.coshtream -> ('i -> 'o) FittingSig.S.t
  val command :
    string -> ('i FittingSig.S.elem -> FittingSig.S.text) FittingSig.S.t
  val program :
    ?path:bool ->
    string ->
    ?argv0:string ->
    string list -> ('i FittingSig.S.elem -> FittingSig.S.text) FittingSig.S.t
  val thunk :
    (unit -> unit) ->
    ('i FittingSig.S.elem -> FittingSig.S.text) FittingSig.S.t
  val sed : ('i -> 'o) -> ('i -> 'o) FittingSig.S.t
  val grep : ('i -> bool) -> ('i -> 'i) FittingSig.S.t
  val trans :
    ('i FittingSig.S.shtream -> 'o FittingSig.S.shtream) ->
    ('i -> 'o) FittingSig.S.t
  val sed_string :
    (string -> 'o) -> ('i FittingSig.S.elem -> 'o) FittingSig.S.t
  val grep_string :
    (string -> bool) ->
    ('i FittingSig.S.elem -> 'i FittingSig.S.elem) FittingSig.S.t
  val ( /</ ) :
    (FittingSig.S.text -> 'o) FittingSig.S.t ->
    Channel.dup_spec -> (FittingSig.S.text -> 'o) FittingSig.S.t
  val redirect_in :
    Channel.dup_spec ->
    (FittingSig.S.text -> 'o) FittingSig.S.t ->
    (FittingSig.S.text -> 'o) FittingSig.S.t
  val ( />/ ) :
    ('i -> 'o FittingSig.S.elem) FittingSig.S.t ->
    Channel.dup_spec -> ('i -> 'o FittingSig.S.elem) FittingSig.S.t
  val redirect_out :
    Channel.dup_spec ->
    ('i -> 'o FittingSig.S.elem) FittingSig.S.t ->
    ('i -> 'o FittingSig.S.elem) FittingSig.S.t
  val ( ^>>= ) :
    ('i -> 'o) FittingSig.S.t ->
    (Proc.status -> ('i -> 'o) FittingSig.S.t) -> ('i -> 'o) FittingSig.S.t
  val seq :
    ('i -> 'o) FittingSig.S.t ->
    (Proc.status -> ('i -> 'o) FittingSig.S.t) -> ('i -> 'o) FittingSig.S.t
  val ( ^>> ) :
    ('i -> 'o) FittingSig.S.t ->
    ('i -> 'o) FittingSig.S.t -> ('i -> 'o) FittingSig.S.t
  val ( &&^ ) :
    ('i -> 'o) FittingSig.S.t ->
    ('i -> 'o) FittingSig.S.t -> ('i -> 'o) FittingSig.S.t
  val ( ||^ ) :
    ('i -> 'o) FittingSig.S.t ->
    ('i -> 'o) FittingSig.S.t -> ('i -> 'o) FittingSig.S.t
  val ( ~>> ) : ('i -> 'o) FittingSig.S.t list -> ('i -> 'o) FittingSig.S.t
  val ( ~&& ) : ('i -> 'o) FittingSig.S.t list -> ('i -> 'o) FittingSig.S.t
  val ( ~|| ) : ('i -> 'o) FittingSig.S.t list -> ('i -> 'o) FittingSig.S.t
  val commands :
    string list -> (FittingSig.S.text -> FittingSig.S.text) FittingSig.S.t
  val yield : Proc.status -> ('i -> 'o) FittingSig.S.t
  val caml : (unit -> ('i -> 'o) FittingSig.S.t) -> ('i -> 'o) FittingSig.S.t
  val ( ^&= ) :
    (FittingSig.S.text -> 'b FittingSig.S.elem) FittingSig.S.t ->
    (Proc.t -> ('i -> 'o) FittingSig.S.t) -> ('i -> 'o) FittingSig.S.t
  val par :
    (FittingSig.S.text -> 'b FittingSig.S.elem) FittingSig.S.t ->
    (Proc.t -> ('i -> 'o) FittingSig.S.t) -> ('i -> 'o) FittingSig.S.t
  val ( ^& ) :
    (FittingSig.S.text -> 'b FittingSig.S.elem) FittingSig.S.t ->
    ('i -> 'o) FittingSig.S.t -> ('i -> 'o) FittingSig.S.t
  val run_source :
    (FittingSig.S.text -> 'o) FittingSig.S.t -> 'o FittingSig.S.shtream
  val run_sink :
    ('i -> 'o FittingSig.S.elem) FittingSig.S.t -> 'i FittingSig.S.coshtream
  val run_list : (FittingSig.S.text -> 'o) FittingSig.S.t -> 'o list
  val run_shtream :
    ('i -> 'o) FittingSig.S.t ->
    'i FittingSig.S.shtream -> 'o FittingSig.S.shtream
  val run_in :
    ?procref:FittingSig.S.procref ->
    (FittingSig.S.text -> 'o FittingSig.S.elem) FittingSig.S.t ->
    Pervasives.in_channel
  val run_out :
    ?procref:FittingSig.S.procref ->
    (FittingSig.S.text -> 'o FittingSig.S.elem) FittingSig.S.t ->
    Pervasives.out_channel
  val run_backquote :
    ?procref:FittingSig.S.procref ->
    (FittingSig.S.text -> 'o FittingSig.S.elem) FittingSig.S.t -> string
  val run_bg :
    (FittingSig.S.text -> 'o FittingSig.S.elem) FittingSig.S.t -> Proc.t
  val run :
    (FittingSig.S.text -> 'o FittingSig.S.elem) FittingSig.S.t -> Proc.status
  val string_of_elem : 'a FittingSig.S.elem -> string
  val elem_of_string : string -> FittingSig.S.text
  val int_of_elem : 'a FittingSig.S.elem -> int
  val elem_of_int : int -> FittingSig.S.text
  val char_of_elem : 'a FittingSig.S.elem -> char
  val elem_of_char : char -> FittingSig.S.text
  val float_of_elem : 'a FittingSig.S.elem -> float
  val elem_of_float : float -> FittingSig.S.text
  val bool_of_elem : 'a FittingSig.S.elem -> bool
  val elem_of_bool : bool -> FittingSig.S.text
end