anchor.diff:        if (keyOrNull == null) {
           Node n = (valueOrNode as Node<K, V>)
               .add(shift + 5, hash, key, value, addedLeaf);
  -        if (n == valueOrNode) return this;
  +        if (identical(n, valueOrNode)) return this;
           return new BitmapIndexedNode(
               bitmap, cloneAndSet(list, 2 * idx + 1, n) as List<Node<K, V>>);
         }
         if (key == keyOrNull) {
  -        if (value == valueOrNode) return this;
  +        if (identical(value, valueOrNode)) return this;
           return new BitmapIndexedNode(
               bitmap, cloneAndSet(list, 2 * idx + 1, value) as List<Node<K, V>>);
         }
  
positive.code:     if (_root == null) return null;
      _leafFlag.value = null;
      Node<K, V> n = _root.removeM(0, key.hashCode, key as K, _leafFlag);
      if (n != _root) _root = n;
      if (_leafFlag.value != null) _length--;
      return _leafFlag.value as V;
    }
  
negative.code:     Node<K, V> newRoot =
          (_root == null ? new BitmapIndexedNode<K, V>.empty() : _root)
              .add(0, key.hashCode, key, value, addedLeaf);
      if (identical(newRoot, _root)) return this;
      return new HamtImmutableMap._internal(
          addedLeaf.value == null ? length : length + 1,
          newRoot,
  