#77 better ergonomics for error handling and reporting