anchor.diff:  
       // Skip over leading handlers that match.
       while (newStartIndex < newEndIndex && oldStartIndex < oldEndIndex) {
  -      EventHandler newHander = newHandlers[newStartIndex];
  +      EventHandler newHandler = newHandlers[newStartIndex];
         EventHandler oldHandler = oldHandlers[oldStartIndex];
  -      if (newHander.type != oldHandler.type
  -          || newHander.listener != oldHandler.listener)
  +      if (newHandler.type != oldHandler.type
  +          || newHandler.listener != oldHandler.listener)
           break;
         ++newStartIndex;
         ++oldStartIndex;
  
positive.code: 
      // Skip over trailing handlers that match.
      while (newStartIndex < newEndIndex && oldStartIndex < oldEndIndex) {
        EventHandler newHander = newHandlers[newEndIndex - 1];
        EventHandler oldHandler = oldHandlers[oldEndIndex - 1];
        if (newHander.type != oldHandler.type
            || newHander.listener != oldHandler.listener)
          break;
        --newEndIndex;
        --oldEndIndex;
  
negative.code: 
      _dirty = false;
  
      if (oldRendered != null && _rendered.runtimeType != oldRendered.runtimeType)
        oldRendered = null;
  
      if (_rendered._sync(oldRendered, host, insertBefore)) {
        _rendered = oldRendered; // retain stateful component
  