C++ API functions should not return error codes
Some C++ API functions return admire::error_code
s while others throw exceptions in case of error. Since we don't want to expose tl::expected<T, admire::error_code>
to the outside world to avoid the dependency for client code, we should ensure that only exceptions are thrown in case of error.