This is a nasty commit, sorry, but 99% of the commit is interdependent.
class with the same name. This will break things. To support it, there are three new classes, one of which is incomplete (AutoreleasePool). It'll get finished soonish, but the rest of the class lib will need some updating to work.