ref: 7d146bd75d98bea509acfad35ee5515423892e47
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)