1. We have described a generic module as parameterized by types. Propose other possibilities for parameterizing modules. 2. Give an example of a module that allows an array of elements of any type to be sorted. The constraint is that it must be possible to compare elements of such a type to see which is bigger. 3. Changing the value of a configuration constant requires recompilation. Is it always to perform a complete recompilation (i.e., a compilation of all the modules)? Discuss the issue by giving examples in C, Pascal, Modula-2, Java, C++, or Ada.