anchor.diff:                      ;; FIXME: ^ THIS might not always "work out"
                       (macro-function ,%name ,%env)))))
   
  -       ;; FIXME: store ,%FORM on hash of (,%NAME ,%ENV)
          (register-advise ,%name ,%env ,%form)
              
          (defmacro ,name ,lambda
  
positive.code: 
  #+test (quux 5)
  
  (defadvise-macro quux (%arg)
    :before (lambda (%argtoo)
              (frob-trace "GOT ARGTOO BEFORE ~s" %argtoo))
    :after  (lambda (%argtoo)
              (frob-trace "GOT ARGTOO AFTER ~s" %argtoo))
    )
               
  
  #+test (quux 12)
  ;; ^FIXME: *trace-output* shows order of eval: :BEFORE, :AFTER, :DURING
  
negative.code: ;; advise.lisp - portable reflective value wrapping for Common Lisp functions
  
  
  (in-package #:cl-user)
  
  (eval-when (:compile-toplevel :load-toplevel :execute)
    
  (defpackage #:reflexion
    (:use
     ;; #:my-trivial-utils.lib.ws
     #:cl
     ))
  
  )
  
  (in-package #:reflexion)
  
  
  (deftype function-name ()
    ;; also defined in my-trivial-utils-lib
    '(or symbol (cons symbol t)))
  
  ;; trivial portable prototype of an 'advise' interface
  