anchor.diff:              }
               parent.insertChild(bNode, aNode, context, attached);
             }
  -
  -          if (!updated) {
  -            parent.removeChild(aNode, attached);
  -          } else {
  -            while (i < b.length) {
  -              parent.insertChild(b[i++], null, context, attached);
  -            }
  +        }
  +
  +        if (!updated) {
  +          parent.removeChild(aNode, attached);
  +        } else {
  +          while (i < b.length) {
  +            parent.insertChild(b[i++], null, context, attached);
             }
           }
         } else if (b.length == 1) {
           // fast path when [b] have 1 child
           final bNode = b.first;
   
  -        // implicit keys
  +        int i = 0;
  +        bool updated = false;
  +
           if (bNode.key == null) {
  -          int i = 0;
  -          bool updated = false;
             while (i < a.length) {
               final VNode aNode = a[i++];
               if (aNode.sameType(bNode)) {
  
positive.code:             }
              parent.insertChild(bNode, aNode, context, attached);
            }
  
            if (!updated) {
              parent.removeChild(aNode, attached);
            } else {
              while (i < b.length) {
                parent.insertChild(b[i++], null, context, attached);
              }
            }
          } else {
            int i = 0;
            bool updated = false;
            while (i < b.length) {
              final VNode bNode = b[i++];
              if (aNode.key == bNode.key) {
  
negative.code:             }
              parent.removeChild(aNode, attached);
            }
          } else {
            while (i < a.length) {
              final VNode aNode = a[i++];
              if (aNode.key == bNode.key) {
  