[semidet]rb_map(+Tree,
:G, -NewTree)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).