I have a case where a macro is defined in a file that is then loaded
by another which makes use of the macro. And it produces a 'wrong type
to apply' error from the VM.
(Works fine with GUILE_AUTO_COMPILE=0 and compiled files removed).
For example, with the 'when' macro from the manual:
-%<---- when.scm ----%<-
(define-macro (when cond exp . rest)
`(if ,cond
(begin ,exp . ,rest)))
-%<---- when.scm ----%<-
-%<---- test.scm ----%<-
(load "when.scm")
(when #t (display "Launching missiles!\n"))
-%<---- test.scm ----%<-