anchor.diff:               (mapcar (lambda (meth) `(call-method ,meth))
                        methods)))
       (let* (;; reorder the methods based on the -order arguments
  +           (wrap-around (effective-order wrap-around wrap-around-order))
              (around (effective-order around around-order))
              (wrapping (effective-order wrapping wrapping-order))
              (before (effective-order before before-order))
  
positive.code:           (before-order :most-specific-first)
            (primary-order :most-specific-first)
            (after-order :most-specific-last)
            (wrapping-order :most-specific-last))
    ((around (:around))
     (before (:before))
     (wrapping (:wrapping))
     (primary () :required t)
  
negative.code:   "Same semantics as standard method combination but allows
  \"wrapping\" methods. Ordering of methods:
  
   (wrap-around
     (around
       (before)
       (wrapping
         (primary))
       (after)))
  
  :warp-around, :around, :wrapping and :primary methods call the
  next least/most specific method via call-next-method (as in
  standard method combination).
  
  The various WHATEVER-order keyword arguments set the order in
  which the methods are called and be set to either
  