anchor.diff:  
   (defun parse (x)
     (awhen (parse-labels x)
  -    (with (f [? (& (cons? _)
  -                   (in? _. 'number 'string)) ._
  -                (cons? _)  (. (f _.) (f ._))
  -                _])
  -      (f (parse-0 !)))))
  +    (parse-atoms (parse-0 !))))
   
   (defun parse-stream (i)
     (with-temporary *parser-stream* i
  
positive.code:       (case x.. :test #'eq
          'label       (. x. (parse-0 .x))
          'directive   (parse-directive x)
          'mnemonic    (with ((addrmode operand-expression) (parse-operand .x))
                         (list (make-instruction :mnemonic x..
                                                 :addrmode addrmode
                                                 :operand-expression operand-expression)))
          (? (identifier? x.)
             (? (assignment? .x.)
                (parse-assignment x)
  
negative.code: (defun parse-directive (x)
    `((,(car x.) ,(cdr x.) ,@.x)))
  
  (defun parse-atoms (x)
    (?
      (& (cons? x)
         (in? x. 'number 'string))  .x
      (cons? x)                     (. (parse-atoms x.) (parse-atoms .x))
      x))
  
  (defun parse-instruction (x)
    (with ((addrmode operand-expression) (parse-operand .x))
      (list (make-instruction :mnemonic x..
                              :addrmode addrmode
                              :operand-expression operand-expression))))
  
  (defun parse-0 (x)
    (when x
      (?
  