anchor.diff:        2
     // TODO: this fails because the 'else' alias hardcodes two pipe slots, so 'with' eats the implicit pipe. 
              same thing happens for 'then', and probably other aliases. might be a symptom of the recent 
  -           pipe troubles. put some more tests in to check for it and set it right.
  +           pipe troubles. put some more tests in to check for it and set it right. (BUG)
       {0 | else "{9}" | add 1}
         1
       {0 | else "{9}" with :foo | add 1}
  
positive.code: 
  Tests for self-reference. PBV cures these ills.
    {* (:a 1 :b 2) | $>x | $>x.c}
      {"a":1,"b":2}
      
    {$x | $>x.d}
      {"a":1,"b":2,"c":{"a":1,"b":2}}
      
    {$x}
      {"a":1,"b":2,"c":{"a":1,"b":2},"d":{"a":1,"b":2,"c":{"a":1,"b":2}}}
  
negative.code: 
  {({"{$x}dog" | $>asdf} $asdf {8 | $>x} $asdf) | string join on " "}
    {$x}dog {$x}dog 8 {$x}dog
  // THINK: bug or bad test?
  // {1 | $>x | ({"{$x}dog" | $>asdf} $asdf {8 | $>x} $asdf) | string join on " " | unquote}
  //   1dog 1dog 8 8dog
  
  
  -- note here that the entire list gets processed before the 'on' param's Daimio is processed. this is due to the internal mechanics of 'string join': some commands may behave differently. 
  {($asdf {"{$x}" | $>asdf} "zxcv" {"{$x}"} $asdf) | string join on " {$asdf} "}
    {$x}dog {$asdf} {$x} {$asdf} zxcv {$asdf} {$x} {$asdf} {$x}
  // THINK: bug or bad test?
  // {1 | $>x | ($asdf {"{$x}" | $>asdf} "zxcv" {"{$x}"} $asdf) | string join on " {$asdf} " | unquote}
  //   1dog 1 1 1 zxcv 1 1 1 1
  
  {({"{$x}dog" | $>asdf} $asdf {8 | $>x} $asdf) | string join on " {$x} "}
    {$x}dog {$x} {$x}dog {$x} 8 {$x} {$x}dog
  // THINK: bug or bad test?
  // {1 | $>x | ({"{$x}dog" | $>asdf} $asdf {8 | $>x} $asdf) | string join on " {$x} " | unquote}
  //   1dog 8 1dog 8 8 8 8dog
      
  END STUFF
  
  