The power of Haskell's first class functions lies largely in Haskell's type checking
system. In C, one might write a "quicksort" function that accepted a function pointer as
an argument, much as in the Haskell example. However, in C you would have no easy
way to make sure that the function (pointed to) had the correct type signature. That is,
whatever function serves as an argument to qsortF must take two arguments of the
same type ("a" stands for a generic type) and produce a Bool resul