let merge_property f w1 w2 =
D.capture (List.map L.as_hint w1.instances) w1.bindings ;
D.capture (List.map L.as_hint w2.instances) w2.bindings ;
{
bindings=D.closed ;
instances=L.merge w1.instances w2.instances ;
property=f
(D.close w1.bindings w1.property)
(D.close w2.bindings w2.property) ;
}