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.