f @Int @[] @String 100 f :: Int -> Int f = undefined result :: Int result = f @Int 5 -- error main = do print $ map read ["33", "4"] print $ show . read $ "42" {-# LANGUAGE TypeApplications #-} main = do print $ map (read @Int) ["33", "4"] print $ show @Int . read $ "42" main = print $ (show :: Int -> String) . read $ "42"