sig
  type dup_arg = Channel.dup_source * Channel.gen_channel
  val ( !% ) : Channel.descr -> int
  val ( *<& ) :
    Channel.gen_in_channel -> Channel.dup_in_source -> Channel.Dup.dup_arg
  val ( *< ) : Channel.gen_in_channel -> string -> Channel.Dup.dup_arg
  val ( *>& ) :
    Channel.gen_out_channel -> Channel.dup_out_source -> Channel.Dup.dup_arg
  val ( *> ) : Channel.gen_out_channel -> string -> Channel.Dup.dup_arg
  val ( *>! ) : Channel.gen_out_channel -> string -> Channel.Dup.dup_arg
  val ( *>? ) : Channel.gen_out_channel -> string -> Channel.Dup.dup_arg
  val ( *>> ) : Channel.gen_out_channel -> string -> Channel.Dup.dup_arg
  val ( *>>! ) : Channel.gen_out_channel -> string -> Channel.Dup.dup_arg
  val ( %<& ) : int -> int -> Channel.Dup.dup_arg
  val ( %< ) : int -> string -> Channel.Dup.dup_arg
  val ( %>& ) : int -> int -> Channel.Dup.dup_arg
  val ( %> ) : int -> string -> Channel.Dup.dup_arg
  val ( %>! ) : int -> string -> Channel.Dup.dup_arg
  val ( %>? ) : int -> string -> Channel.Dup.dup_arg
  val ( %>> ) : int -> string -> Channel.Dup.dup_arg
  val ( %>>! ) : int -> string -> Channel.Dup.dup_arg
  val ( /<& ) :
    Pervasives.in_channel -> Pervasives.in_channel -> Channel.Dup.dup_arg
  val ( /< ) : Pervasives.in_channel -> string -> Channel.Dup.dup_arg
  val ( />& ) :
    Pervasives.out_channel -> Pervasives.out_channel -> Channel.Dup.dup_arg
  val ( /> ) : Pervasives.out_channel -> string -> Channel.Dup.dup_arg
  val ( />! ) : Pervasives.out_channel -> string -> Channel.Dup.dup_arg
  val ( />? ) : Pervasives.out_channel -> string -> Channel.Dup.dup_arg
  val ( />> ) : Pervasives.out_channel -> string -> Channel.Dup.dup_arg
  val ( />>! ) : Pervasives.out_channel -> string -> Channel.Dup.dup_arg
  val ( *>% ) : Channel.gen_out_channel -> int -> Channel.Dup.dup_arg
  val ( *>/ ) :
    Channel.gen_out_channel -> Pervasives.out_channel -> Channel.Dup.dup_arg
  val ( %>* ) : int -> Channel.dup_out_source -> Channel.Dup.dup_arg
  val ( %>/ ) : int -> Pervasives.out_channel -> Channel.Dup.dup_arg
  val ( />* ) :
    Pervasives.out_channel -> Channel.dup_out_source -> Channel.Dup.dup_arg
  val ( />% ) : Pervasives.out_channel -> int -> Channel.Dup.dup_arg
  val ( *<% ) : Channel.gen_in_channel -> int -> Channel.Dup.dup_arg
  val ( *</ ) :
    Channel.gen_in_channel -> Pervasives.in_channel -> Channel.Dup.dup_arg
  val ( %<* ) : int -> Channel.dup_in_source -> Channel.Dup.dup_arg
  val ( %</ ) : int -> Pervasives.in_channel -> Channel.Dup.dup_arg
  val ( /<* ) :
    Pervasives.in_channel -> Channel.dup_in_source -> Channel.Dup.dup_arg
  val ( /<% ) : Pervasives.in_channel -> int -> Channel.Dup.dup_arg
end