module ShowFun where import Data.Typeable instance (Typeable a, Typeable b) => Show (a -> b) where show :: (a -> b) -> String show e :: a -> b e = '<' Char -> ShowS forall a. a -> [a] -> [a] : (TypeRep -> String forall a. Show a => a -> String show (TypeRep -> String) -> ((a -> b) -> TypeRep) -> (a -> b) -> String forall b c a. (b -> c) -> (a -> b) -> a -> c . (a -> b) -> TypeRep forall a. Typeable a => a -> TypeRep typeOf) a -> b e String -> ShowS forall a. [a] -> [a] -> [a] ++ ">" instance Typeable a => Show (IO a) where show :: IO a -> String show e :: IO a e = '<' Char -> ShowS forall a. a -> [a] -> [a] : (TypeRep -> String forall a. Show a => a -> String show (TypeRep -> String) -> (IO a -> TypeRep) -> IO a -> String forall b c a. (b -> c) -> (a -> b) -> a -> c . IO a -> TypeRep forall a. Typeable a => a -> TypeRep typeOf) IO a e String -> ShowS forall a. [a] -> [a] -> [a] ++ ">"