anchor.diff:      the value `15` in the path clearly distinguishes the route to "Magneta" from
       a route for some other hero.
   
  -    An [optional-route-parameter](#optional-route-parameter) might be a better choice if we were passing an *optional* value to `HeroDetailComponent`.
  +    An [optional-route-parameter](#optional-route-parameters) might be a better choice if we were passing an *optional* value to `HeroDetailComponent`.
   
   a#navigate
   :marked
  
positive.code:   doing so greatly complicates the pattern matching required to translate an incoming URL to a named route.
  
    Optional parameters are the ideal vehicle for conveying arbitrarily complex information during navigation.
    Optional parameters aren't involved in pattern matching and affords enormous flexibility of expression.
  
    The Router supports navigation with optional parameters as well as required route parameters.
    We define _optional_ parameters in an *object* after we define our required route parameters.
  
negative.code:   Users update crisis information in the `CrisisDetailComponent`.
    Unlike the `HeroDetailComponent`, the user changes do not update the
    crisis entity immediately. We update the entity when the user presses the *Save* button.
    We discard the changes if the user presses the *Cancel* button.
  
    Both buttons navigate back to the crisis list after save or cancel.
  
  