In C, it is impossible to define an array ADT that works for all possible types (built-in or user defined). This requires a C++ feature called ``template classes''. For the rest of this module, we assume that we the element type is fixed for an array ADT.