All complex classes are derived from the Generic class due to space efficiency concerns. COOL does not seem to provide multiple inheritance. COOL's exception handling provides a reise, handle, and proceed mechanism.
Exception and exception handling classes are provided for this purpose. COOL provides parameterized templates. The peculiarity of COOL is that to allow this it extends the standard C++ preprocessor to recognize the notation introduced to specify templates.
In other words, the programs written using COOL are not compiled using the standard CC, but using CCC (COOL C++ Control Program), which is an extension of the CC compiler. It does not seem to include garbage collection.