anchor.diff:    
     The `HeroDetailComponent` is a *different* component than the `HeroListComponent` we've been reviewing.
     The `HeroDetailComponent` (code not shown) presents facts about a particular hero, the
  -  hero that the user selects from the list presented by the the `HeroListComponent`.
  -  The `HeroDetailComponent` is a **child** of the the `HeroListComponent`.
  +  hero that the user selects from the list presented by the `HeroListComponent`.
  +  The `HeroDetailComponent` is a **child** of the `HeroListComponent`.
   
   figure
     img(src="/resources/images/devguide/architecture/component-tree.png" alt="Metadata" align="left" style="width:300px; margin-left:-40px;margin-right:10px" )
  
positive.code:   Angular doesn't *enforce* these principles. 
    It won't complain if we write a "kitchen sink" component with 3000 lines.
    
    Angular does help us *follow* these principles ... by making it easy to factor our
    application logic into services and make those services available to components through *dependency injection*.
  
  .l-main-section
  
negative.code:   It modifies the behavior of an existing element (typically an `<input>`) 
    by setting its display value property and responding to change events.
    
    Angular ships with a few other directives that either alter the layout structure 
    (e.g. [ngSwitch](template-syntax.html#ngSwitch))
    or modify aspects of DOM elements and components 
    (e.g. [ngStyle](template-syntax.html#ngStyle) and [ngClass](template-syntax.html#ngClass)).
  