ref: 24e80ae9a4bfea0c43a594af91819e8052fa6423
dir: /tests/Typeable.hs/
module Typeable(main) where import Prelude import Data.Proxy import Data.Typeable data T = A deriving Typeable data P a = B a deriving (Typeable) main :: IO () main = do print $ typeOf True print $ typeOf (return True :: IO Bool) print $ typeOf ('a', False) print $ typeRep (Proxy :: Proxy Monad) print $ typeOf A print $ typeOf (B (B A)) print $ typeOf [1::Int] print $ typeOf ((+) :: Int -> Int -> Int)