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