~> & ~>> should still work for macros. Fixes #25.

See the lengthy comments in this commit.