Isn’t an ImmutableDict the immutable counterpart of a Dict?
Yes. From the documentation:
ImmutableDict is a Dictionary implemented as an immutable linked list.
The implementation is a particular singly-linked list. Each node has three fields, a key, a value, and a link to the parent node. The interface is that of a
Dict, with some restrictions, partly due to the implementation as a linked list.
An immutable dict can certainly hold an arbitrary number of keys/values. Each node, of type
ImmutableDict holds only one key/value pair. But, there is no container of these nodes that makes
Dict; they are just linked together.
The interface does not allow construction with more than one key/value pair. But, a method to do this would be straightforward. My guess is that it was not needed for the task that this particular implementation was written for.