Thanks. I guess I need to go think a bit of when macros expand. =)
My use case is in ClojureScript (or, rather SCI in a nodejs environment) where I need to postpone a require until a promise resolves. I have yet to try this solution there, but will do that and report back how I fare. Right now I am using @Imre's solution, and that is fine for my use case, but I'd still want to try this one out.