sig   type 'a t = 'a Queue.t   exception Empty   val create : unit -> 'a t   val add : 'a -> 'a t -> unit   val push : 'a -> 'a t -> unit   val pop : 'a t -> 'a   val top : 'a t -> 'a   val clear : 'a t -> unit   val copy : 'a t -> 'a t   val is_empty : 'a t -> bool   val length : 'a t -> int   val iter : ('a -> unit) -> 'a t -> unit   val map : ('a -> 'b) -> 'a t -> 'b t   val filter : ('a -> bool) -> 'a t -> 'a t   val filter_map : ('a -> 'b option) -> 'a t -> 'b t   val filter_inplace : ('a -> bool) -> 'a t -> unit   val fold : ('b -> 'a -> 'b) -> 'b -> 'a t -> 'b   val transfer : 'a t -> 'a t -> unit   type 'a enumerable = 'a t   val enum : 'a t -> 'a BatEnum.t   val of_enum : 'a BatEnum.t -> 'a t   val print :     ?first:string ->     ?last:string ->     ?sep:string ->     ('a BatInnerIO.output -> 'b -> unit) ->     'a BatInnerIO.output -> 'b t -> unit   val compare : 'a BatOrd.comp -> 'a t BatOrd.comp   val equal : 'a BatOrd.eq -> 'a t BatOrd.eq   module Exceptionless = BatQueue.Exceptionless   val take : 'a BatQueue.t -> 'a option   val peek : 'a BatQueue.t -> 'a option end