Top level: Warning: Module ‘Data.OldTypeable’ is deprecated: Use Data.Typeable instead :10:36: Warning: In the use of type constructor or class ‘Typeable’ (imported from Data.OldTypeable, but defined in Data.OldTypeable.Internal): Deprecated: "Use Data.Typeable.Internal instead" :14:10: Typeable instances can only be derived in Safe Haskell. Replace the following instance: instance [safe] Typeable G :22:22: No instance for (Typeable G) arising from a use of ‘cast’ In the expression: (cast y) :: Maybe H In a pattern binding: (Just y_as_H) = (cast y) :: Maybe H :23:1: Not in scope: ‘y_as_H’