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