anchor.diff:        if (route.name != null)
           namedRoutes[route.name] = route;
       }
  -    history.add(new HistoryEntry(routes[0]));
  +    history.add(new HistoryEntry(route: routes[0], key: _lastKey++));
     }
   
     List<HistoryEntry> history = new List<HistoryEntry>();
     int historyIndex = 0;
  +  int _lastKey = 0;
     Map<String, RouteBase> namedRoutes = new Map<String, RouteBase>();
   
     RouteBase get currentRoute => history[historyIndex].route;
  
positive.code:   }
  
    void push(RouteBase route) {
      HistoryEntry historyEntry = new HistoryEntry(route);
      history.insert(historyIndex + 1, historyEntry);
      historyIndex++;
    }
  
negative.code:       }
        if (content == null)
          continue;
        Transition transition = new Transition(
          key: historyEntry.key.toString(),
          content: content,
          direction: (i <= state.historyIndex) ? TransitionDirection.forward : TransitionDirection.reverse,
          interactive: (i == state.historyIndex),
  