anchor.diff:    
       There's a few disadvantages to this approach in a traditional language, like awkward syntax for if-then-else (which becomes a function that takes a boolean expression and two callbacks). But we find that in a dataflow language like Daimio the convention is quite natural, and any semantic clumsiness is outweighed by the advantages:
       - no distinction between built-ins and application functionality means you can easily create new low-level control constructs.
  -    - "everything is a command" reduces conceptual weight: all commands return a value, all commands take named parameters, param evaluation timing is consistent, and so on.
  +    - "everything is a command" reduces conceptual weight: all commands return a value, all commands take named parameters, parameter evaluation timing is consistent, and so on.
       - facilities that affect commands (like aliases) can be used on anything in the system -- no special cases.
     
       We saw in the primer that commands have a handler, a method and named parameters, and that parameter order is irrelevant.
  
positive.code:       {$foo.#2}
          2
    
    We'll see some more ways to reach into variables in a bit.
  
  
  <div class="page-header" id="id_blocks">
    <h2>In Depth: Blocks</h2>
  
negative.code:   <h2>In Depth: Variables</h2>
  </div>
      
      &gt; implies movement -- putting data somewhere always implies shuffling a copy to somewhere else.
      
      references (in-pipeline mutation, copy-on-write, $foo and _foo (copy-on-read)
      
      ----- talk about pipeline vars, injected vars, imported vars, and then space vars
      
      (so pipelines are actually DAGs)
  