anchor.diff:  import '../redux_component/redux_component.dart';
   import '../utils/utils.dart';
   
  +/// Define a basic behavior of route.
   abstract class AbstractRoutes {
     Widget buildPage(String path, Map<String, dynamic> map);
   }
   
  +/// Use RouteAction.route in reducer.
  +///     asReducer<T>({
  +///       RouteAction.route: _route,
  +///     });
  +///     T _route(T state, Action action) {}
  +///
  +/// Never use RouteAction._route. It is hidden.
   enum RouteAction {
     route,
     _route,
  
positive.code:       );
  }
  
  class DependentRoutes<T> implements AbstractRoutes {
    final Map<String, Dependent<T>> slots;
    final PageStore<T> _store;
  
    DependentRoutes({
      @required T preloadedState,
      @required this.slots,
      Reducer<T> reducer,
  
negative.code:   }
  }
  
  /// Each page has a unique store.
  class PageRoutes implements AbstractRoutes {
    final Map<String, Page<Object, Map<String, dynamic>>> pages;
  
  