* keep the old traceback so that we don't get clobbered
* improve readability of errors
* somewhat simplify handling