"In a slightly different category, you cannot implement a polymorphic qsort (the one provided by the standard library sorts an array of void* and can effectively be used to sort arrays of various kinds of pointers)." . . . .