let close_property where context q = function
| Keep_opened ->
let instances = L.pop_instances where in
let bindings = D.pop where context in
{
bindings=bindings ;
instances=instances ;
property=q ;
}
| Apply_hints ->
let instances = L.pop_instances where in
let instances,q = L.instantiate instances q in
if instances = []
then {
bindings=D.closed ;
instances=[];
property=D.flush where context q;
} else {
bindings=D.pop where context ;
instances=instances ;
property=q ;
}
| Close_context ->
let instances = L.pop_instances where in
let _ , q = L.instantiate instances q in
{
bindings=D.closed ;
instances=[] ;
property=D.flush where context q ;
}