Abandon the compile time preprocessor. Too much trouble for too little value.
More hacking on the type system.