anchor.diff:         (eql (gethash *secret-sheep-identifier* sheep)
   	    *secret-sheep-identifier*)))
   
  -(defun std-generate-sheep (metasheep &key parents options &allow-other-keys)
  +(defun sheep-p (sheep)
  +  (if (and (std-sheep-object-p)
  +	   (eql (sheep-metasheep sheep) =standard-sheep-metasheep))
  +      t
  +      (sheep-p-using-sheep sheep)))
  +
  +(defun generate-sheep-std-metasheep (metasheep &key parents options &allow-other-keys)
     (declare (ignore metasheep))
  -  (let ((sheep (std-generate-sheep-instance)))
  +  (let ((sheep (std-generate-sheep-instance metasheep)))
       ;; First we actually set up all the properties
       ;; The canonical required properties...
  -    (setf (gethash sheep 'metasheep) =standard-sheep-metasheep=) ; (setf sheep-metasheep) is
  -    (setf (sheep-direct-parents sheep) nil)                      ; unsupported right now
  +    (setf (sheep-direct-parents sheep) nil)
       (setf (sheep-direct-properties sheep) (make-hash-table :test #'equal))
       (setf (sheep-direct-roles sheep) nil)
       (setf (sheep-direct-cloneforms sheep) nil)
  
positive.code: 	 ()
  	 (:nickname "=dolly=")))
  
  (setf (sheep-direct-parents =standard-sheep-metasheep=)
        (list =dolly=))
  
  ;;; Wolves and wolf-handling
  (defvar =white-fang= (clone (=t=) () (:nickname "=white-fang=")))
  
negative.code:      (fmakunbound name)
       buzzword)))
  
  (defmacro defbuzzword (name &rest options)
    `(ensure-buzzword
      :name ',name
      ,@(canonize-options options)))
  
  (defmacro undefbuzzword (name)
    `(undefine-buzzword
      :name ',name))
  