Implementation of the Python exceptions module and the IronPython/CLR exception mapping mechanism. The exception module is the parent module for all Python exception classes and therefore is built-in to IronPython.dll instead of IronPython.Modules.dll. The exception mapping mechanism is exposed as internal surface area available to only IronPython / IronPython.Modules.dll. The actual exceptions themselves are all public. Because the oddity of the built-in exception types all sharing the same physical layout (see also PythonExceptions.BaseException) some classes are defined as classes w/ their proper name and some classes are defined as PythonType fields. When a class is defined for convenience their's also an _TypeName version which is the PythonType.