Currently this crate doesn't necessarily correctly handle macro invocations that expand to code that includes captured variables.
Doing this correctly requires eagerly evaluating macro invocations, see rust-lang/rfcs#2320
Currently this crate assumes macro arguments are comma-separated expressions, emitting a warning if that doesn't hold.