let take_list (_, q) = let rec self accu = if Queue.is_empty q then accu else self ((Queue.take q) :: accu) in self []