I have not understood what the question is. Are you asking "Why would
one need functions of the form (Integral a) => ...a... if one can just
use ...Integer... or ...Int... explicitly"?
To clarify, the problem Tsun is asking about is Ex. 9 (bonus) in http://www.cs.uu.nl/wiki/FP/Practicum#PracticumOne . Define the following function
toDigitsRevG :: (Integral a) => a -> a -> [a]
that takes a base and a value and outputs the reverse list of digits. The function must be total (modulo bottom) and thus work for any instance of Integral.
This is a first-year course, so I expect this to be a difficult problem for those seeing Haskell for the first time. That's why it's a bonus exercise. ;)
Regards,