sig   module Array :     sig       type elt = char       type t = Bytes.t       val empty : t       val make : int -> elt -> t       val length : t -> int       val get : t -> int -> elt       val set : t -> int -> elt -> unit       val sub : t -> int -> int -> t       val copy : t -> t       val blit : t -> int -> t -> int -> int -> unit       val iter : (elt -> unit) -> t -> unit     end   type t   exception Empty   val create : ?bounded:bool -> int -> t   val copy : t -> t   val capacity : t -> int   val max_capacity : t -> int option   val length : t -> int   val blit_from : t -> Array.t -> int -> int -> unit   val blit_into : t -> Array.t -> int -> int -> int   val append : t -> into:t -> unit   val to_list : t -> Array.elt list   val clear : t -> unit   val reset : t -> unit   val is_empty : t -> bool   val junk_front : t -> unit   val junk_back : t -> unit   val skip : t -> int -> unit   val iter : t -> f:(Array.elt -> unit) -> unit   val iteri : t -> f:(int -> Array.elt -> unit) -> unit   val get_front : t -> int -> Array.elt   val get_back : t -> int -> Array.elt   val push_back : t -> Array.elt -> unit   val peek_front : t -> Array.elt   val peek_back : t -> Array.elt   val take_back : t -> Array.elt option   val take_back_exn : t -> Array.elt   val take_front : t -> Array.elt option   val take_front_exn : t -> Array.elt   val of_array : Array.t -> t   val to_array : t -> Array.t end