Use macro to use kinds only for ghc >=7.6

This design is much better as it turns of kind restrictions for ghc < 7.6. Also the macros are used scarcely.