anchor.diff:      }
       if (_root == null) return this;
       Node<K, V> newRoot = _root.remove(0, key.hashCode, key as K);
  -    if (newRoot == _root) return this;
  +    if (identical(newRoot, _root)) return this;
       return new HamtImmutableMap._internal(
           length - 1, newRoot, _hasNull, _nullValue);
     }
  
positive.code:     if (keyOrNull == null) {
        Node<K, V> n = (valueOrNode as Node<K, V>)
            .removeM(shift + 5, hash, key, removedLeaf);
        if (n == valueOrNode) return this;
        if (n != null) return _editAndSet(2 * idx + 1, n);
        if (bitmap == bit) return null;
        return _editAndRemovePair(bit, idx);
  
negative.code:                   shift + 5, hash, key, value, addedLeaf)) as List<Node<K, V>>);
      }
      Node<K, V> n = node.add(shift + 5, hash, key, value, addedLeaf);
      if (identical(n, node)) return this;
      return new ListNode<K, V>(
          count, cloneAndSet(list, idx, n) as List<Node<K, V>>);
    }
  