anchor.diff:  
   block observables-section-intro
     :marked
  -    Each `Http` method  returns an `Observable` of HTTP `Response` objects.
  +    Each `Http` service method  returns an `Observable` of HTTP `Response` objects.
   
       Our `HeroService` converts that `Observable` into a `Promise` and returns the promise to the caller.
       In this section we learn to return the `Observable` directly and discuss when and why that might be
  
positive.code:   Although we made significant *internal* changes to `getHeroes()`, the public signature did not change.
    We still return a !{_Promise}. We won't have to update any of the components that call `getHeroes()`.
  
    Our stakeholders are incredibly pleased with the added flexibility from the API integration, but it doesn't stop there. Next, we want the ability to create new heroes and delete heroes.
  
    But first, let's see what happens now when we try to update a hero's details.
  
  .l-main-section
  :marked
    ## Update hero details
  
    The hero detail view already allows us to edit a hero's name. Go ahead, try
    it now. As we type, the hero name is updated in the view heading, but
    notice what happens when we hit the `Back` button: the changes are lost!
  
  .l-sub-section
    :marked
  
negative.code:   +makeExample('app/rxjs-extensions.ts')(format='.')
  
    :marked
      We load them all at once by importing `rxjs-extensions` at the top of `AppModule`.
  
    +makeExcerpt('app/app.module.ts', 'rxjs-extensions')(format='.')
  
  :marked
    ### Add the search component to the dashboard
  