let rec collect_forall xs = function | Pforall(x,p) -> collect_forall (x::xs) p | p -> List.rev xs , p