   minus: (shift, hash, key) ->
     switch @bucket.length
       when 0, 1 then null
-      when 2    then Sequence.find @bucket, (v) -> not areEqual(v.key, key)
+      when 2    then Sequence.find @bucket, (v) -> not equalKeys(v.key, key)
       else           new CollisionNode(hash, this.bucketWithout(key))
 
   toString: -> "#{@bucket.join("|")}"
 
   bucketWithout: (key) ->
-    item for item in @bucket when not areEqual(item.key, key)
+    item for item in @bucket when not equalKeys(item.key, key)
 
 
 # --------------------------------------------------------------------


  size: 1

  get:  (shift, hash, key) -> true if areEqual(key, @key)

  plus: (shift, hash, leaf) ->
    if hash == @hash


  @plusOne: (root, [key, value]) ->
    hash = hashCode(key)
    if root.get(0, hash, key) == value
      root
    else
      root.plus(0, hash, new HashLeafWithValue(hash, key, value))
