anchor.diff:      We can rewrite the method, casting to HTML DOM objects like this.
     +makeExample('user-input/ts/app/keyup.components.ts', 'key-up-component-1-class', 'app/keyup.components.ts (class v.1 - strongly typed )')
     :marked
  -    <br>Strong typing reveals a serious problem with passing a DOM event into the method: 
  +    <br>Strong typing reveals a serious problem with passing a DOM event into the method:
       too much awareness of template details, too little separation of concerns.
  -    
  +
       We'll address this problem in our next try at processing user keystrokes.
   :marked
   
  
positive.code:   Only then do we update the component's `values` property ...
    inside the event expression rather than in the component ...
    because we *can* ... even if it is a dubious practice.
  +makeExample('user-input/ts/app/keyup.components.ts', 'key-up-component-3' ,'app/keyup.components.ts (v3)')  
  :marked
    Here's how it works.
  figure.image-display
  
negative.code: 
    Let's fix that by listening to the input box's blur event as well.
  
  +makeExample('user-input/ts/app/keyup.components.ts', 'key-up-component-4' ,'app/keyup.components.ts (v4)')
  
  .l-main-section
  :marked
  