anchor.diff:  :marked
     <a id="pipe"></a>
     ### The pipe operator ( | )
  +  Pipes are simple functions that accept an input value and return a transformed value.
     The result of an expression might require some transformation before we’re ready to use it in a binding.  For example, we might want to display a number as a currency, force text to uppercase, or filter a list and sort it.
   
  -  Angular [pipes](./pipes.html) are a good choice for small transformations such as these.
  -  Pipes are simple functions that accept an input value and return a transformed value.
  -  They're easy to apply within template expressions, using the **pipe operator (`|`)**:
  +  Angular [pipes](./pipes.html) are a good choice for small transformations such as those listed above.
  +  Pipe operators are easy to apply within template expressions, using the **pipe operator (`|`)**:
   +makeExample('template-syntax/ts/app/app.component.html', 'pipes-1')(format=".")
   :marked
     The pipe operator passes the result of an expression on the left to a pipe function on the right.
  
positive.code:   ### The safe navigation operator ( ?. ) and null property paths
  
    The Angular **safe navigation operator (`?.`)** is a fluent and convenient way to guard against null and undefined values in property paths.
    Here it is, protecting against a view render failure if the `currentHero` is null.
  +makeExample('template-syntax/ts/app/app.component.html', 'safe-2')(format=".")
  
  block dart-safe-nav-op
  
negative.code:   We can chain expressions through multiple pipes:
  +makeExample('template-syntax/ts/app/app.component.html', 'pipes-2')(format=".")
  :marked
    We can also [apply parameters](./pipes.html#parameterizing-a-pipe) to a pipe:
  +makeExample('template-syntax/ts/app/app.component.html', 'pipes-3')(format=".")
  
  block json-pipe
  