anchor.diff:  +makeExcerpt('src/app/hero-tax-return.component.ts', 'providers', '')
   
   :marked
  -  The `HeroTaxReturnComponent` has its own provider of the `HeroTaxReturnService`. 
  -  Recall that every component _instance_ has its own injector. 
  +  The `HeroTaxReturnComponent` has its own provider of the `HeroTaxReturnService`.
  +  Recall that every component _instance_ has its own injector.
     Providing the service at the component level ensures that _every_ instance of the component gets its own, private instance of the service.
     No tax return overwriting. No mess.
  -  
  +
   .l-sub-section
     :marked
       The rest of the scenario code relies on other Angular features and techniques that you can learn about elsewhere in the documentation.
  -    You can review it and download it from the <live-example></live-example>
  +    You can review it and download it from the <live-example></live-example>.
   
   :marked
     ### Scenario: specialized providers
  
positive.code:   The component also asks the service to save and restore this tax return.
  
    There'd be big trouble if _this_ service were an application-wide singleton.
    Every component would share the same service instance. 
    Each component would overwrite the tax return that belonged to another hero.
    What a mess!
  
  
negative.code:   deeper in the component tree.
  
    Consider again the Car example from the [Dependency Injection](./dependency-injection.html) guide.
    Suppose you configured the root injector (marked as A) with _generic_ providers for
    `CarService`, `EngineService` and `TiresService`.
  
    You create a car component (A) that displays a car constructed from these three generic services.
  