anchor.diff:              (with-simple-restart (abort "Return to debugger top level.")
                 (fresh-line)
                 (format t "~D] " debug-level)
  +              (finish-output)
                 (let ((form (read)))
                   (fresh-line)
                   (typecase form
  
positive.code:           (first *current-debug-frame*)
            (second *current-debug-frame*)
            (function-from-frame *current-debug-frame*)))
  
  (defun enter-debugger (condition)
    (let* ((*standard-input* *debug-io*)
  
negative.code:                      (:current (show-debug-frame))
                       (:vars
                        (show-debug-frame)
                        (debugger-show-variables *current-debug-frame*))
                       (:read
                        (format t "~&ID: ")
                        (finish-output)
                        (let ((result (multiple-value-list (debugger-read-variable *current-debug-frame* (read)))))
                          (setf *** **
                                ** *
                                * (first result)
                                /// //
                                // /
                                / result
                                +++ ++
                                ++ +
                                + form)
                          (when result
                            (dolist (v result)
                              (fresh-line)
                              (write v)))))
                       (t (format t "Unknown command ~S~%" form))))
                    (t (let ((result (multiple-value-list (let ((- form))
                                                            (eval form)))))
  