`sig
type t = Pervasives.out_channel
val stdout : Out_channel.t
val stderr : Out_channel.t
type 'a with_create_args = ?binary:bool -> ?append:bool -> ?perm:int -> 'a
val create : (string -> Out_channel.t) Out_channel.with_create_args
val with_file :
(string -> f:(Out_channel.t -> 'a) -> 'a) Out_channel.with_create_args
val close : Out_channel.t -> unit
val set_binary_mode : Out_channel.t -> bool -> unit
val flush : Out_channel.t -> unit
val output : Out_channel.t -> buf:string -> pos:int -> len:int -> unit
val output_string : Out_channel.t -> string -> unit
val output_char : Out_channel.t -> char -> unit
val output_byte : Out_channel.t -> int -> unit
val output_binary_int : Out_channel.t -> int -> unit
val output_value : Out_channel.t -> 'a -> unit
val newline : Out_channel.t -> unit
val output_lines : Out_channel.t -> string list -> unit
val seek : Out_channel.t -> int64 -> unit
val pos : Out_channel.t -> int64
val length : Out_channel.t -> int64
val write_lines : string -> string list -> unit
val write_all : string -> data:string -> unit
end`