If the value associated with key Key is Val0 in Tree,
and if
call(G,Val0,ValF) holds, then NewTree differs
from Tree only in that
Key is associated with value ValF in tree NewTree.
Fails if it cannot find Key in Tree, or if call(G,Val0,ValF)
is not satisfiable.