anchor.diff:    (list my-string my-number my-symbol))
   
   
  -;; Okay. So that's the end product. Now, we'll attempt to write the DEFINE-MULTIDEF-MACRO macro step-by-step.
  +;; Okay. So that's the end product. Now, we'll attempt to write the
  +;; DEFINE-MULTIDEF-MACRO macro step-by-step.
   
  -;; In this abridged version, I'll just go ahead and assume we have a perfectly clear idea of what we want the define-multidef-macro to do and even how it's implemented, with the caveat that we don't know the right magical voodoo incantations of nested backquotes to write exactly.
  +;; In this abridged version, I'll just go ahead and assume we have a
  +;; perfectly clear idea of what we want the define-multidef-macro to
  +;; do and even how it's implemented, with the caveat that we don't
  +;; know the right magical voodoo incantations of nested backquotes to
  +;; write exactly.
   
   ;; So. We're an experienced macro writer so we come up with almost 100% of the solution in an instant:
   #+nil
  
positive.code: 			     (push ,,to-collect ,',collect)))
  			 (nreverse ,',collect))))
  	   ,@body)))))
  ;; And now you see why this is a bad example ;P  It's ,', almost everywhere.
  
  
  ;; I have to say, even with this technique, I can't quite read the classic definition of ONCE-ONLY (I'm beginning to think some kind of special technique was used to painfully craft it). I don't even know for sure that it still works for levels of backquote nesting beyond 2, but I suspect it ought to. Maybe it works in theory but doesn't work in practice? Would be funny because the technique I just exposed sort of doesn't work in theory (it doesn't give you a mental model of how things actually work) but it works in practice.
  
  ;; With this, I hope the reign of terror of nested backquotes is over.
  
negative.code: 			 (nreverse ??collect))))
  	   ,@body)))))
  
  ;; I just made up this "?" notation to make it easier to explain, I
  ;; don't normally use these but maybe it might make it easier for you
  ;; to get started with this technique. Note that I don't bother with
  ;; "push" and "nreverse" in this case because they're completely
  ;; quoted and that case is intuitive.
  
  ;; The only thing that's stumping us big time is how to properly
  ;; unquote things. I put ?'s at the tricky places where we know we
  ;; have to unquote somehow, but we're not sure how.
  
  ;; Each "?" must be replaced by "" or "'" or "," or ",@" or ",'" or ",@'".
  
  ;; The RIGHTMOST "?" is associated with the OUTERMOST backquote.
  ;; We'll start with the outermost backquote level first.
  
  ;; Notice the potential for ambiguity: what if we write "," at a place where there's "??"?
  ;; Of course the parser can't distinguish between " ," and ", ".
  ;; Is the "," associated with the left or right "?"?
  ;; TRICKY ANSWER: It's associated with the LEFT one (", "). Weird, eh?
  ;; But what if we want to associate it with the one on the right?
  ;; Then we'll put ",'" in front (it may look contradictory: "unquote quote??").
  ;; This has the effect of "using up" a level of backquoting
  ;; without otherwise changing anything.
  
  ;; The first step is: COMPLETELY IGNORE THE NESTED BACKQUOTE. Here I
  ;; write the nested backquote, but we'll just pretend it doesn't exist
  ;; for now. We're thinking solely in terms of the outermost defmacro
  ;; and backquote at this point, just like for "normal" macros.
  ;; So we come up with this:
  #+nil
  (defmacro define-multidef-macro (name global-args local-args &body body)
  