Track TH changes in GHC 7.9

While it compiles with 7.6.3 and 7.9, I have no idea if this does what it's meant to. With both compilers, `ghci Main.hs`, `:main --generate`, `:reload`, `main --test` just gives me

```
Derive/TestInstances.hs:28:10:
    No instance for (GBinary (GHC.Generics.Rep (a -> b)))
      arising from a use of ‘binary-0.7.1.0:Data.Binary.Class.$gdmput’
    In the expression: (binary-0.7.1.0:Data.Binary.Class.$gdmput)
    In an equation for ‘put’:
        put = (binary-0.7.1.0:Data.Binary.Class.$gdmput)
    In the instance declaration for ‘Binary (a -> b)’

Derive/TestInstances.hs:28:10:
    No instance for (GBinary (GHC.Generics.Rep (a -> b)))
      arising from a use of ‘binary-0.7.1.0:Data.Binary.Class.$gdmget’
    In the expression: (binary-0.7.1.0:Data.Binary.Class.$gdmget)
    In an equation for ‘get’:
        get = (binary-0.7.1.0:Data.Binary.Class.$gdmget)
    In the instance declaration for ‘Binary (a -> b)’
```

This seems like a separate issue that needs to be solved first.