let flush where c0 p =
Wp_parameters.debug ~dkey:"context" "FLUSH %d %S@." (pred (List.length !context)) where ;
match !context with
| [] -> Wp_parameters.fatal "No context for constrained term"
| c::stack ->
if not (c0 == c)
then Wp_parameters.fatal "Context mismatch for constrained term" ;
context := stack ;
apply_bindings (some_alpha c.pool) c.bindings p