 # The HashMap class provides the public API and serves as a wrapper
 # for the various node classes that hold the actual information.
 class HashMap extends Collection
+  this::class = this
   className: "HashMap"
-  collection: HashMap
 
   # Returns the (key,value)-pairs as a stream
   items: -> @entries


# The IntSet class.
class IntSet extends Collection
  className: "IntSet"
  collection: IntSet

  # Returns the elements as a stream
  elements: -> @entries


# The IntMap class is essentially a huge sparse array.
class IntMap extends Collection
  this::class = this
  className: "IntMap"

  # Returns the (key,value)-pairs as a stream
  items: -> @entries
