{-# LANGUAGE PatternSynonyms #-} module Typeable ( Typeable , cast , eqT , gcast , gcast1 , gcast2 , TypeRep , typeRep , typeOf , withTypeable , pattern App , pattern Con , pattern Con' , pattern Fun , typeRepTyCon , rnfTypeRep , eqTypeRep , typeRepKind , splitApps , SomeTypeRep(..) , someTypeRep , someTypeRepTyCon , rnfSomeTypeRep , TyCon , tyConPackage , tyConModule , tyConName , rnfTyCon , Module , moduleName , modulePackage , rnfModule -- ** Optics , _cast , _gcast ) where import Data.Typeable hiding (TypeRep, rnfTypeRep, typeOf, typeRep, typeRepTyCon) import Data.Typeable.Lens (_cast, _gcast) import Type.Reflection