anchor.diff:   */
   class Router {
     final Map<String, _Route> _routes = new Map<String, _Route>();
  -  bool _useFragment;
  +  final bool useFragment;
  +  final Window _window;
     _Route _defaultRoute;
     _Route _currentRoute;
     String _lastTail = '';
  -  html.Window _window;
   
     /**
      * [useFragment] determines whether this Router uses pure paths with
  
positive.code:    * value is null which then determines the behavior based on
     * [History.supportsState].
     */
    Router({bool useFragment, Window window}) {
      _window = (window == null) ? html.window : window;
      _useFragment = (useFragment == null)
          ? !html.History.supportsState
          : useFragment;
    }
  
    void addRoute({String name, Pattern path, bool defaultRoute: false,
        RouteHandler enter, RouteHandler leave, mount}) {
  
negative.code: 
    void _go(String path, String title) {
      title = (title == null) ? '' : title;
      if (useFragment) {
        _window.location.assign('#$path');
        (_window.document as HtmlDocument).title = title;
      } else {
        _window.history.pushState(null, title, path);
      }
  