Throw real Errors

This makes debugging much, much easier, as an `Error` has a stack trace.