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