sig
type 'a sequence = ('a -> unit) -> unit
type 'a klist = unit -> [ `Cons of 'a * 'a CCFQueue.klist | `Nil ]
type 'a equal = 'a -> 'a -> bool
type 'a printer = Format.formatter -> 'a -> unit
type +'a t
val empty : 'a CCFQueue.t
val is_empty : 'a CCFQueue.t -> bool
val singleton : 'a -> 'a CCFQueue.t
val doubleton : 'a -> 'a -> 'a CCFQueue.t
exception Empty
val cons : 'a -> 'a CCFQueue.t -> 'a CCFQueue.t
val snoc : 'a CCFQueue.t -> 'a -> 'a CCFQueue.t
val take_front : 'a CCFQueue.t -> ('a * 'a CCFQueue.t) option
val take_front_exn : 'a CCFQueue.t -> 'a * 'a CCFQueue.t
val take_front_l : int -> 'a CCFQueue.t -> 'a list * 'a CCFQueue.t
val take_front_while :
('a -> bool) -> 'a CCFQueue.t -> 'a list * 'a CCFQueue.t
val take_back : 'a CCFQueue.t -> ('a CCFQueue.t * 'a) option
val take_back_exn : 'a CCFQueue.t -> 'a CCFQueue.t * 'a
val take_back_l : int -> 'a CCFQueue.t -> 'a CCFQueue.t * 'a list
val take_back_while :
('a -> bool) -> 'a CCFQueue.t -> 'a CCFQueue.t * 'a list
val first : 'a CCFQueue.t -> 'a option
val last : 'a CCFQueue.t -> 'a option
val first_exn : 'a CCFQueue.t -> 'a
val last_exn : 'a CCFQueue.t -> 'a
val nth : int -> 'a CCFQueue.t -> 'a option
val nth_exn : int -> 'a CCFQueue.t -> 'a
val tail : 'a CCFQueue.t -> 'a CCFQueue.t
val init : 'a CCFQueue.t -> 'a CCFQueue.t
val append : 'a CCFQueue.t -> 'a CCFQueue.t -> 'a CCFQueue.t
val rev : 'a CCFQueue.t -> 'a CCFQueue.t
val map : ('a -> 'b) -> 'a CCFQueue.t -> 'b CCFQueue.t
val ( >|= ) : 'a CCFQueue.t -> ('a -> 'b) -> 'b CCFQueue.t
val size : 'a CCFQueue.t -> int
val fold : ('b -> 'a -> 'b) -> 'b -> 'a CCFQueue.t -> 'b
val iter : ('a -> unit) -> 'a CCFQueue.t -> unit
val equal : 'a CCFQueue.equal -> 'a CCFQueue.t CCFQueue.equal
val of_list : 'a list -> 'a CCFQueue.t
val to_list : 'a CCFQueue.t -> 'a list
val add_seq_front : 'a CCFQueue.sequence -> 'a CCFQueue.t -> 'a CCFQueue.t
val add_seq_back : 'a CCFQueue.t -> 'a CCFQueue.sequence -> 'a CCFQueue.t
val to_seq : 'a CCFQueue.t -> 'a CCFQueue.sequence
val of_seq : 'a CCFQueue.sequence -> 'a CCFQueue.t
val to_klist : 'a CCFQueue.t -> 'a CCFQueue.klist
val of_klist : 'a CCFQueue.klist -> 'a CCFQueue.t
val ( -- ) : int -> int -> int CCFQueue.t
val ( --^ ) : int -> int -> int CCFQueue.t
val print : 'a CCFQueue.printer -> 'a CCFQueue.t CCFQueue.printer
end