We need to discuss how to handle errors consistently: - what errors to let through from lower levels - what errors to wrap into new errors - how many exception classes we want (and how many built-in exception classes we reuse) - a sensible exception/error class hierarchy