sig
  module Debug :
    functor
      (Core_queue : sig
                      type 'a t
                      val binary_search :
                        ('a t, 'a) Binary_searchable_intf.binary_search
                      val binary_search_segmented :
                        ('a t, 'a)
                        Binary_searchable_intf.binary_search_segmented
                      val mem :
                        ?equal:('-> '-> bool) -> 'a t -> '-> bool
                      val length : 'a t -> int
                      val is_empty : 'a t -> bool
                      val iter : 'a t -> f:('-> unit) -> unit
                      val fold :
                        'a t ->
                        init:'accum -> f:('accum -> '-> 'accum) -> 'accum
                      val exists : 'a t -> f:('-> bool) -> bool
                      val for_all : 'a t -> f:('-> bool) -> bool
                      val count : 'a t -> f:('-> bool) -> int
                      val sum :
                        (module Commutative_group.S with type t = 'sum) ->
                        'a t -> f:('-> 'sum) -> 'sum
                      val find : 'a t -> f:('-> bool) -> 'a option
                      val find_map : 'a t -> f:('-> 'b option) -> 'b option
                      val to_list : 'a t -> 'a list
                      val to_array : 'a t -> 'a array
                      val min_elt :
                        'a t -> cmp:('-> '-> int) -> 'a option
                      val max_elt :
                        'a t -> cmp:('-> '-> int) -> 'a option
                      val equal : 'Equal.equal -> 'a t Equal.equal
                      val invariant :
                        'Invariant_intf.inv -> 'a t Invariant_intf.inv
                      val create : ?capacity:int -> unit -> 'a t
                      val singleton : '-> 'a t
                      val enqueue : 'a t -> '-> unit
                      val dequeue : 'a t -> 'a option
                      val dequeue_exn : 'a t -> 'a
                      val peek : 'a t -> 'a option
                      val peek_exn : 'a t -> 'a
                      val clear : 'a t -> unit
                      val copy : 'a t -> 'a t
                      val blit_transfer :
                        src:'a t -> dst:'a t -> ?len:int -> unit -> unit
                      val of_list : 'a list -> 'a t
                      val map : 'a t -> f:('-> 'b) -> 'b t
                      val concat_map : 'a t -> f:('-> 'b list) -> 'b t
                      val filter_map : 'a t -> f:('-> 'b option) -> 'b t
                      val filter : 'a t -> f:('-> bool) -> 'a t
                      val filter_inplace : 'a t -> f:('-> bool) -> unit
                      val of_array : 'a array -> 'a t
                      val get : 'a t -> int -> 'a
                      val set : 'a t -> int -> '-> unit
                      val capacity : 'a t -> int
                      val set_capacity : 'a t -> int -> unit
                      val t_of_sexp :
                        (Sexplib.Sexp.t -> 'a) -> Sexplib.Sexp.t -> 'a t
                      val sexp_of_t :
                        ('-> Sexplib.Sexp.t) -> 'a t -> Sexplib.Sexp.t
                      val compare : ('-> '-> int) -> 'a t -> 'a t -> int
                      val bin_t :
                        'Bin_prot.Type_class.t ->
                        'a t Bin_prot.Type_class.t
                      val bin_read_t :
                        'Bin_prot.Read.reader -> 'a t Bin_prot.Read.reader
                      val __bin_read_t__ :
                        'Bin_prot.Read.reader ->
                        (int -> 'a t) Bin_prot.Read.reader
                      val bin_reader_t :
                        'Bin_prot.Type_class.reader ->
                        'a t Bin_prot.Type_class.reader
                      val bin_size_t :
                        'Bin_prot.Size.sizer -> 'a t Bin_prot.Size.sizer
                      val bin_write_t :
                        'Bin_prot.Write.writer ->
                        'a t Bin_prot.Write.writer
                      val bin_writer_t :
                        'Bin_prot.Type_class.writer ->
                        'a t Bin_prot.Type_class.writer
                    end->
      sig
        type 'a t = 'Core_queue.t
        val binary_search : ('a t, 'a) Binary_searchable_intf.binary_search
        val binary_search_segmented :
          ('a t, 'a) Binary_searchable_intf.binary_search_segmented
        val mem : ?equal:('-> '-> bool) -> 'a t -> '-> bool
        val length : 'a t -> int
        val is_empty : 'a t -> bool
        val iter : 'a t -> f:('-> unit) -> unit
        val fold :
          'a t -> init:'accum -> f:('accum -> '-> 'accum) -> 'accum
        val exists : 'a t -> f:('-> bool) -> bool
        val for_all : 'a t -> f:('-> bool) -> bool
        val count : 'a t -> f:('-> bool) -> int
        val sum :
          (module Commutative_group.S with type t = 'sum) ->
          'a t -> f:('-> 'sum) -> 'sum
        val find : 'a t -> f:('-> bool) -> 'a option
        val find_map : 'a t -> f:('-> 'b option) -> 'b option
        val to_list : 'a t -> 'a list
        val to_array : 'a t -> 'a array
        val min_elt : 'a t -> cmp:('-> '-> int) -> 'a option
        val max_elt : 'a t -> cmp:('-> '-> int) -> 'a option
        val equal : 'Equal.equal -> 'a t Equal.equal
        val invariant : 'Invariant_intf.inv -> 'a t Invariant_intf.inv
        val create : ?capacity:int -> unit -> 'a t
        val singleton : '-> 'a t
        val enqueue : 'a t -> '-> unit
        val dequeue : 'a t -> 'a option
        val dequeue_exn : 'a t -> 'a
        val peek : 'a t -> 'a option
        val peek_exn : 'a t -> 'a
        val clear : 'a t -> unit
        val copy : 'a t -> 'a t
        val blit_transfer : src:'a t -> dst:'a t -> ?len:int -> unit -> unit
        val of_list : 'a list -> 'a t
        val map : 'a t -> f:('-> 'b) -> 'b t
        val concat_map : 'a t -> f:('-> 'b list) -> 'b t
        val filter_map : 'a t -> f:('-> 'b option) -> 'b t
        val filter : 'a t -> f:('-> bool) -> 'a t
        val filter_inplace : 'a t -> f:('-> bool) -> unit
        val of_array : 'a array -> 'a t
        val get : 'a t -> int -> 'a
        val set : 'a t -> int -> '-> unit
        val capacity : 'a t -> int
        val set_capacity : 'a t -> int -> unit
        val t_of_sexp : (Sexplib.Sexp.t -> 'a) -> Sexplib.Sexp.t -> 'a t
        val sexp_of_t : ('-> Sexplib.Sexp.t) -> 'a t -> Sexplib.Sexp.t
        val compare : ('-> '-> int) -> 'a t -> 'a t -> int
        val bin_t : 'Bin_prot.Type_class.t -> 'a t Bin_prot.Type_class.t
        val bin_read_t : 'Bin_prot.Read.reader -> 'a t Bin_prot.Read.reader
        val __bin_read_t__ :
          'Bin_prot.Read.reader -> (int -> 'a t) Bin_prot.Read.reader
        val bin_reader_t :
          'Bin_prot.Type_class.reader -> 'a t Bin_prot.Type_class.reader
        val bin_size_t : 'Bin_prot.Size.sizer -> 'a t Bin_prot.Size.sizer
        val bin_write_t :
          'Bin_prot.Write.writer -> 'a t Bin_prot.Write.writer
        val bin_writer_t :
          'Bin_prot.Type_class.writer -> 'a t Bin_prot.Type_class.writer
        val check_invariant : bool Pervasives.ref
        val show_messages : bool Pervasives.ref
      end
end