Work around GHC deriving errors
Typeable1 -> Typeable
ghc-7.7.20131205 requiring DeriveTraversable rather than GeneralizedNewtypeDeriving
lens 4 compatability