update to lens 3.8 names and used derived typeable instance