Talk:Haskell/Solutions/Type basics

This may be a lack of Haskell knowledge speaking, but I don't think it is.

The answers for the "second round" seem off.

The very last reference to the function uppercase (before the exercise) has the signature

uppercase, lowercase :: String -> String

The function is the exercise is

f x y = uppercase (x ++ y)

The answer to the exercise is

f :: Bool -> Bool -> Bool

Ultimately, the f function will use the toUpper function. This function doesn't work with Bool values. How is the answer correct? Can an breakdown be provided by anyone for new readers?