anchor.diff:  Variables can also be referenced using curly braces like `${in}`.
   
   Variables might better be called "bindings", in that a given variable
  -cannot be changed, only shadowed.  More on how shadowing works
  -follows.
  -
  -
  +cannot be changed, only shadowed.  There is ore on how shadowing works
  +later in this document.
   
   Rules
   ~~~~~
  
positive.code: extension of the first input"), pass that through as an extra
  variable, like how `cflags` is passed above.
  
  
  Ninja file reference
  --------------------
  
negative.code: 
  To restate, Ninja is faster than other build systems because it is
  painfully simple.  You must tell Ninja exctly what to do when you
  create your project's `.ninja` files.
  
  Comparison to GNU make
  ~~~~~~~~~~~~~~~~~~~~~~
  
  Ninja is closest in spirit and functionality to make.  But
  fundamentally, make has a lot of _features_: suffix rules, functions,
  built-in rules that e.g. search for RCS files when building source.
  Many projects find make alone adequate for their build problems.  In
  contrast, Ninja has almost no features; just those necessary to get
  builds correct while punting most complexity to generation of the
  ninja input files.
  
  Here are some of the features ninja adds to make.  (These sorts of
  features can often be implemented using more complicated Makefiles,
  