anchor.diff:                      do (formatting-cell (pane)
                            (format pane "~s " (class-name specializer)))))))))
   
  +(defun pretty-print-function (fun)
  +  "Print a function in a readable way, returning a string. On most
  +implementations this just uses the standard Lisp printer, but it can
  +use implementation-specific functions to be more informative."
  +  (flet ((generic-print (fun)
  +	   (with-output-to-string (string)
  +	     (prin1 fun string))))
  +    ;; If we have SBCL, try to do fancy formatting. If anything goes
  +    ;; wrong with that, fall back on ugly standard PRIN1.
  +    #+sbcl (handler-case (format nil "~A ~S"
  +				 (sb-impl::%simple-fun-name fun)
  +				 (sb-impl::%simple-fun-arglist fun))
  +	     (error () (generic-print fun)))
  +    ;; FIXME: Other Lisp implementations have ways of getting this
  +    ;; information. If you want a better inspector on a non-SBCL Lisp,
  +    ;; please add code for it and send patches.
  +    #-sbcl (generic-print fun)))
  +
  +(defmethod inspect-object ((object function) pane)
  +  (with-output-as-presentation
  +       (pane object (presentation-type-of object))
  +    (format pane "Function: ~A"
  +	    (pretty-print-function object))
  +    #+sbcl (format pane "~&Type: ~A"
  +		   (sb-impl::%simple-fun-type object))
  +    (print-documentation object pane)))
  +
   (defmethod inspect-object-briefly ((object package) pane)
     (with-output-as-presentation
         (pane object (presentation-type-of object))
  
positive.code:   (with-output-as-presentation
        (pane object (presentation-type-of object))
      (print object)))
  (defmethod inspect-object ((object symbol) pane)
    (inspector-table
      (format pane "Symbol ~S" (symbol-name object))
  
negative.code:     (run-frame-top-level
       (make-application-frame 'inspector :obj obj))))
  
  (defparameter *inspected-objects* '()
    "A list of objects which are currently being inspected with
  INSPECT-OBJECT")
  
  (defgeneric inspect-object-briefly (object pane)
    (:documentation "Inspect an object in a short form, displaying this
  on PANE. For example, rather than displaying all the slots of a class,
  only the class name would be shown."))
  
  (defgeneric inspect-object (object pane)
    (:documentation "Inspect an object, displaying it on PANE"))
  
  (defmethod inspect-object :around (object pane)
    (cond ((member object *inspected-objects*)
           (with-output-as-presentation
               (pane object (presentation-type-of object)) 
             (princ "===")))		; Prevent infinite loops
          ((not (gethash object (dico *application-frame*)))
           (inspect-object-briefly object pane))
          (t
  