anchor.diff:    V _get(K key, int hash, int depth) {
       int branch = _getBranch(hash, depth);
       _Node<K, V> map = _array[branch];
  -    return map._get(key, hash, depth + 1);
  +    return map._get(key, hash, depth - 1);
     }
   
     _Node<K, V> _insertOneWith(_Owner owner, key, val, hash, int depth, [update]) {
       int branch = _getBranch(hash, depth);
       _Node<K, V> m = _array[branch];
       int oldSize = m.length;
  -    _Node<K, V> newM = m._insertOneWith(owner, key, val, hash, depth + 1, update);
  +    _Node<K, V> newM = m._insertOneWith(owner, key, val, hash, depth - 1, update);
       if(identical(m, newM)) {
         if(oldSize != m.length) this._length += m.length - oldSize;
         return this;
  
positive.code:   }
  
    TransientMap<K, V> doDelete(K key, {bool missingOk: false}) {
      return _adjustRootAndReturn(_root._delete(owner, key, _reverseHash(key.hashCode), 0, missingOk));
    }
  
    TransientMap<K, V> doUpdate(K key, dynamic updateF) {
  
negative.code: 
    // method must be called only on top-level _Node
    V get(K key, [V notFound = _none]) {
      var val = _get(key, _reverseHash(key.hashCode), 5);
      if(_isNone(val)){
        if (_isNone(notFound)) {
          _ThrowKeyError(key);
  