anchor.diff:  (defpackage :shcl/shell/main
     (:use
  -   :common-lisp :shcl/core/lexer :shcl/core/shell-grammar :shcl/core/utility
  -   :shcl/core/evaluate :shcl/core/baking :shcl/core/thread
  +   :common-lisp :trivial-gray-streams :shcl/core/lexer :shcl/core/shell-grammar
  +   :shcl/core/utility :shcl/core/evaluate :shcl/core/baking :shcl/core/thread
      :shcl/core/lisp-interpolation :shcl/core/shell-readtable :shcl/core/builtin)
     (:import-from :shcl/core/posix #:exit)
     (:import-from :shcl/shell/directory)
     (:import-from :shcl/shell/logs)
     (:import-from :shcl/shell/lisp-repl)
  -  (:import-from :trivial-gray-streams)
  +  (:import-from :shcl/shell/prompt #:get-line)
     (:import-from :cl-cli)
     (:import-from :uiop)
     (:export #:main #:run-shell-commands-in-stream #:run-shell-commands-in-string))
  
positive.code: 
  (defparameter *shell-readtable* +standard-shell-readtable+)
  
  (defclass echo (trivial-gray-streams:fundamental-character-output-stream)
      ())
  
  (defmethod trivial-gray-streams:stream-write-char ((s echo) char)
    (format *standard-output* "CHAR: ~W~%" char)
    char)
  
  
negative.code:        (progv ,vars ,values
           ,@body))))
  
  (defun run-shell-commands-in-stream (stream)
    (let* ((form-queue (make-queue))
           (commands (restartable-command-iterator stream form-queue))
           (*fresh-prompt* t)
           last-result)
      (restart-case
          (do-iterator (tree commands)
            (loop
  