This is an ImmutableDataStructure - when you add an element using Map.add you get a new object back. This is quite efficient, because many of the interior binary tree nodes in the Map will have been shared between the old and the new map.
<Please add samples here>