Dead code elimination extensions

Here are some of the properties of dead code elimination that I have not seen in other compilers:

- The OSHS system programming language will allow you to create initializer procedures and bind them to the exported ones. This eases the use of the library (the user does not need to care about proper initialization of the library) and allows the compiler to detect unused initialization code and remove it from the result.
- All the C/C++ compilers I tried will add all non-static subroutines from linked object modules to the resulting program binary - even if they are never used and never referenced. I think this is due to the design of the C/C++ language itself and the object module file format. The design of the OSHS system programming language and its object module files will allow the compiler to detect and remove any such dead code.