anchor.diff:  
     PersistentMap mapValues(f(V)) {
       List<_APersistentMap<K, V>> newarray =
  -        new List<_APersistentMap<K, V>>.from(_array);
  +        new List<_APersistentMap<K, V>>.from(_array, growable: false);
       for (int i = 0; i < _array.length; i++) {
         _APersistentMap<K, V> mi = _array[i];
           newarray[i] = mi.mapValues(f);
  
positive.code:           return newm;
          } else {
            List<_APersistentMap<K, V>> newarray =
                new List<_APersistentMap<K, V>>.from(_array);
            newarray[index] = newm;
            return new _SubMap(_bitmap, newarray, length + delta);
          }
        } else {
          List<_APersistentMap<K, V>> newarray =
              new List<_APersistentMap<K, V>>.from(_array);
          newarray[index] = newm;
          return new _SubMap(_bitmap, newarray, length + delta);
        }
  
negative.code: 
      if ((_bitmap & mask) != 0) {
        List<_APersistentMap<K, V>> newarray =
            new List<_APersistentMap<K, V>>.from(_array, growable: false);
        _APersistentMap<K, V> m = _array[index];
        _APersistentMap<K, V> newM =
            m._insertWith(keyValues, size, combine, hash, depth + 1);
  