Supporting template-haskell 2.8.0.0.

This patch supports GHC 7.6.3 in Haskell Platform 2013.2.0.0.
add a macro for recursion