anchor.diff:        (values (nreverse assignments) (nreverse arguments) (nreverse redirects)))))
   
   (defun evaluate-assignment-word (assignment-word)
  +  "Modify the environment to include the given variable assignment."
     (with-accessors ((value assignment-word-value-word) (name assignment-word-name)) assignment-word
       (let ((expanded (expansion-for-word
                        value
  
positive.code:   (truthy-exit-status))
  
  (defun evaluate-synchronous-job (sy)
    (evaluate sy))
  
  (defparameter *special-variables-to-preserve-during-async*
    '(*environment*))
  
  (defun evaluate-async-job (sy completion-handler)
    (let* ((symbols *special-variables-to-preserve-during-async*)
           (symbol-values (mapcar #'symbol-value symbols))
           (fd-bindings *fd-bindings*)
  
negative.code:       (setf (env (simple-word-text name)) expanded))))
  
  (defun evaluate-command-free (assignments redirects)
    "Not all simple-commands have a command!"
    (dolist (assign assignments)
      (evaluate-assignment-word assign))
    (with-fd-scope ()
  