sig   type t = {     mutable i_s : bytes;     mutable i_pos : int;     mutable i_len : int;     mutable i_offs : int;     mutable i_max_len : int;     i_refill : Bi_inbuf.t -> int -> unit;     i_shared : Bi_share.Rd.tbl;   }   exception End_of_input   val try_preread : Bi_inbuf.t -> int -> int   val read : Bi_inbuf.t -> int -> int   val read_char : Bi_inbuf.t -> char   val peek : Bi_inbuf.t -> char   val from_string : ?pos:int -> ?shrlen:int -> string -> Bi_inbuf.t   val from_channel :     ?len:int -> ?shrlen:int -> Pervasives.in_channel -> Bi_inbuf.t end