Module Misc.Q

type 'a t = 'a list * 'a list
exception Empty
val empty : 'a list * 'b list
val push : 'a -> ('a list * 'b) -> 'a list * 'b
val pop : ('a list * 'a list) -> 'a * ('a list * 'a list)
val of_list : 'a list -> 'a list * 'b list