call(G,Val0,ValF) holds, then the
value associated with Key in NewTree is ValF. Fails if
call(G,Val0,ValF) is not satisfiable for all Val0. If G is
non-deterministic, rb_map/3 will backtrack over all possible values
from call(G,Val0,ValF). You should not depend on the order of tree
traversal (currently: key order).