the non-local traceback implementation was hard, so brings a risk of brittleness - we should keep an eye for any related issues
only the custom type errors have been improved (other than the non-local context), not the native ones - improving Python's standard way of reporting a missing argument seems out-of-scope for this package, and not "least surprise", but the custom errors have generally been given more detail
as above, the standard errors have been left alone, but the couple of custom errors where this might help have been given inline examples
Implements several closely related features:
error messages show location of call, not lazy-evaluation, if possiblecustom type errors are more specificexamples in the custom error messages