Derive Typeable to support base>=4.7