anchor.diff:         "M-u" #'minibuffer-unmark-all))
       ;; TODO: We could have VI bindings for the minibuffer too.
       ;; But we need to make sure it's optional + to have an indicator
  -    ;; for the mode.  This requires either a change of cursor or a
  -    ;; echo area separate from the minibuffer.
  +    ;; for the mode.
       )))
   
   (defclass-export minibuffer (buffer)
  
positive.code:                           (input-prompt nil explicit-input-prompt)
                            (input-buffer nil explicit-input-buffer)
                            (invisible-input-p nil explicit-invisible-input-p)
                            (show-completion-count t explicit-show-completion-count)
                            (history nil explicit-history)
                            (multi-selection-p nil explicit-multi-selection-p))
    "See the `minibuffer' class for the argument documentation."
  
negative.code:         (unless (str:emptyp text)
            (log:info "~s" text)))
      (error ()
        (log:warn "Failed to echo these args: ~s
  Possible improvements:
  - Pass multiple arguments and use format strings for untrusted content. Don't pre-construct a single string that could contain tildes.
    Example: do (echo \"directory is\ ~~a \"~~/Downloads/\")
             instead of (echo \"directory is ~~/Downloads/\")
  - Use `echo-safe' or use the ~~s directive directly." args))))
  
  (serapeum:export-always 'echo-safe)
  (defun echo-safe (&rest args)
  