let capture hints xps =
if hints <> [] && xps <> [] then
List.iter
(function
| Forall xs | Exists xs ->
List.iter (fun h -> h#capture xs) hints
| Let(x,t) -> List.iter (fun h -> h#subst x t) hints
| Any(y,_) -> List.iter (fun h -> h#capture [y]) hints
) xps