anchor.diff:  
       // Skip over trailing handlers that match.
       while (newStartIndex < newEndIndex && oldStartIndex < oldEndIndex) {
  -      EventHandler newHander = newHandlers[newEndIndex - 1];
  +      EventHandler newHandler = newHandlers[newEndIndex - 1];
         EventHandler oldHandler = oldHandlers[oldEndIndex - 1];
  -      if (newHander.type != oldHandler.type
  -          || newHander.listener != oldHandler.listener)
  +      if (newHandler.type != oldHandler.type
  +          || newHandler.listener != oldHandler.listener)
           break;
         --newEndIndex;
         --oldEndIndex;
  
positive.code: 
      // Skip over leading handlers that match.
      while (newStartIndex < newEndIndex && oldStartIndex < oldEndIndex) {
        EventHandler newHander = newHandlers[newStartIndex];
        EventHandler oldHandler = oldHandlers[oldStartIndex];
        if (newHander.type != oldHandler.type
            || newHander.listener != oldHandler.listener)
          break;
        ++newStartIndex;
        ++oldStartIndex;
  
negative.code:     }
  
      for (int i = newStartIndex; i < newEndIndex; ++i) {
        EventHandler newHandler = newHandlers[i];
        root.addEventListener(newHandler.type, newHandler.listener);
      }
    }
  
  