haskellbook p151 write a type signature assignment no. 2

1
2
3
4
5
6
7
functionC x y =
if (x > y) then True else False

-- why is the type definition
-- functionC :: (Ord a, Ord b) => a -> b -> Bool
-- wrong? For which reason GHCi infers that a and b are of the same type?
-- functionC :: Ord a => a -> a -> Bool -- type definition derived by GHCi