anchor.diff:                         ,name nil)
                      ,(canonize-sheeple sheeple)
                      :properties ,(canonize-properties properties t)
  -                   ,@(canonize-clone-options options))))
  +                   ,@(canonize-options options))))
          (unless (sheep-nickname sheep)
            (setf (sheep-nickname sheep) ',name))
          (setf (symbol-value ',name) sheep))))
  
positive.code:   `(let ((sheep (ensure-sheep
                   ,(canonize-sheeple sheeple)
                   :properties ,(canonize-properties properties)
                   ,@(canonize-clone-options options))))
       sheep))
  
  (defmacro defproto (name sheeple properties &rest options)
  
negative.code:            ,@other-options)))
  
  (defun canonize-options (options)
    (mapcan #'canonize-option options))
  
  (defun canonize-option (option)
    (list `,(car option) (cadr option)))
  