`sig type t val create : int -> Buffer.t val contents : Buffer.t -> string val to_bytes : Buffer.t -> bytes val sub : Buffer.t -> int -> int -> string val blit : Buffer.t -> int -> bytes -> int -> int -> unit val nth : Buffer.t -> int -> char val length : Buffer.t -> int val clear : Buffer.t -> unit val reset : Buffer.t -> unit val add_char : Buffer.t -> char -> unit val add_string : Buffer.t -> string -> unit val add_bytes : Buffer.t -> bytes -> unit val add_substring : Buffer.t -> string -> int -> int -> unit val add_subbytes : Buffer.t -> bytes -> int -> int -> unit val add_substitute : Buffer.t -> (string -> string) -> string -> unit val add_buffer : Buffer.t -> Buffer.t -> unit val add_channel : Buffer.t -> Pervasives.in_channel -> int -> unit val output_buffer : Pervasives.out_channel -> Buffer.t -> unit end`