To make it compile with nhc98, #ifdef out the Typeable[12] instances.
class Typeable2 t where
typeOf2 :: t a b -> TyCon
-
+#ifndef __NHC__
-- | Instance for lists
instance Typeable1 [] where
typeOf1 _ = typerepTyCon (typeOf (undefined::[()]))
-- | Instance for functions
instance Typeable2 (->) where
typeOf2 _ = typerepTyCon (typeOf (undefined::() -> ()))
-
+#endif
-- | Cast for * -> *
cast1 :: (Typeable1 t, Typeable1 t') => c (t a) -> Maybe (c (t' a))