If the signature is left out, Haskell infers all these type constraints
automatically. tailComp meets the right type signature, with the type String being a
specialization of the generic type allowed in qsortF arguments (a different comparison
function might operate over a different type or type class)