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