I think calling `get_error()` is generally bad. Can we remove this or only have it in a debug mode?