some updates to the error handling API so I can draw pretty squiggles