A replacement for the assertion macros in NSException.h. This replacement has several improvements. First, it takes advantage of the fact that vararg macros are now supported by both available preprocessors for gcc on OS X to remove the need for the MOAssert1, MOAssert2, etc... style of multiple macros. Second, it provides a funnel function that can be used to set a breakpoint that will catch any assertion prior to it being handed off to the current handler which can be very useful for debugging. Third, the MOAssertionHandler class allows the current handler to be set (which NSAssertionHan dler has no public API for). Finally convenience macros for testing certain properties such as isKindOf, conformance to protocol, etc are provided.