I either haven't gotten the point or have to assume there isn't one. Isn't that normal error handling? The incoming error path is usually even done with exception handling in normal languages, so you don't have to worry about it. the pattern `if not <assertion>: raise Exception` should be everything one needs. And for that this whole stuff is really fancy and long, especially if one considers that most people (sadly) don't even check assertions between function calls, if they are not forced to by bug reports.