What Template Haskell gets wrong and Racket gets right (blog.ezyang.com)