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