`read`'s type is defined as `read :: (Read a) => String -> a`, i.e.
`read` takes as `String` and returns an `a` (number?). I don't know what
`=>` means. (`(Read a)` is an instance of class Read ?)
`show`'s type is a bit more complicated it seems as it has multiple
instances for various types of input. But in essence it takes a type and
returns a `String`.
main :: IO ()
main = do
args <- getArgs
- putStrLn (args !! 0 ++ args !! 1)
+ putStrLn (show (read (args !! 0) + read (args !! 1)))