anchor.diff:      return _leafFlag.value as V;
     }
   
  -  ImmutableMap<K, V> toImmutable() =>
  -      new HamtImmutableMap._internal(_length, _root, _hasNull, _nullValue);
  +  ImmutableMap<K, V> toImmutable() => new HamtImmutableMap._internal(
  +      _length, _root?.freeze(), _hasNull, _nullValue);
   }
   
   typedef SelectorFunction(key, value);
  
positive.code:   Iterable iter(SelectorFunction f) => _iterNode(list, f);
  
    int _index(int bit) => _bitCount(bitmap & (bit - 1));
  
    @override
    Node<K, V> add(int shift, int hash, K key, V value, Box addedLeaf) {
  
negative.code:     }
    }
  
    Node<K, V> freeze();
  
    Node<K, V> add(int shift, int hash, K key, V value, Box addedLeaf);
  
    Node<K, V> addM(int shift, int hash, K key, V value, Box addedLeaf);
  