Add GHC generics support everywhere
Add Binary instances
Happier instances of Binary for vector
Merge