Avatar
Go の方式はチェック忘れが起こり得るけど、 Result なら func x() -> Result<X, XError> { guard case .success(let a) = a() else { return .failure(XError.foo) } guard case .success(let b) = b() else { return .failure(XError.foo) } guard case .success(let c) = c() else { return .failure(XError.foo) } return .success(.init(a, b, c)) } みたいな場合には忘れることは起こらなくない?