withUnsafeThrowingContinuation だと Error になっちゃうけど、 withUnsafeContinuation で resume に Result を渡す場合はエラーの型を温存できるんじゃないでしょうか。let result: Result<Foo, FooError> = await withUnsafeContinuation { continuation in barAsync { result in continuation.resume(returning: result) } } (edited)UnsafeContinuation の E は有効活用できてないですね・・・。