anchor.diff:  ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  -;;;; pseudonyms
  +;;;; PSEUDONYMS
   ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
   ;;;; thanks to:
  -;;;; #lisp@freenode: pjb, blubjr, sid_cypher, PuercoPop, shka
  +;;;; #lisp@freenode:
  +;;;; pjb, blubjr, sid_cypher, PuercoPop, shka, Bicyclidine
   ;;;; for testing and ideas
  +;;;; 
   ;;;; license: FreeBSD (BSD 2-clause)
   ;;;;
   ;;;; pseudonyms.lisp
  
positive.code:     (format nil "~A => ~A" pseudonym  package)))
  
  (defun pmakunbound (datum &key (inside-package (package-name *package*)))
    "This, given either a nickname-bound package name or a package name-bound nickname, clears
  any name-nickname pair bound to it.
  
  Argument must be a string designator.
  An optional argument allows you to clear a pseudonym from a different package."
    (check-type datum string-designator)
    (let ((table (gethash inside-package *pseudonym-table*))
  	(datum (string datum)))
  
negative.code: 	(progn
  	  (format t "pseudonym => name (inside package ~:@(~A~)):~%" inside-package)
  	  (list-length
  	   (loop for (key value) on table by #'cddr collect key
  	      do (format t "~S => ~S~%" value key)))))))
  
  ;;; ========================================================================
  ;;; READER MACRO
  
  (defun pseudonym-reader (stream char)
    "This is the reader macro for local pseudonyms.
  
  This function is not meant to be called explicitly, unless you know what you're doing."
    (declare (ignore char))
    (labels ((valid (char)
  	     (when (equal char (or #\Space #\Tab #\Return #\Newline))
  