sig
  val take : 'a BatQueue.t -> 'a option
  val peek : 'a BatQueue.t -> 'a option
end