Improvement
The argument New should really be called Updates or NewKeyValuePairs because these are updates which are merged with DictIn to give DictOut.
| Did you know ... | Search Documentation: |
| Predicate put_dict/3 |
?- A = point{x:1, y:2}.put(#{x:3}).
A = point{x:3, y:2}.
?- A = point{x:1, y:2}.put([x=3]).
A = point{x:3, y:2}.
?- A = point{x:1, y:2}.put([x=3,z=0]).
A = point{x:3, y:2, z:0}.
The argument New should really be called Updates or NewKeyValuePairs because these are updates which are merged with DictIn to give DictOut.