import ComposableArchitecture public protocol ReceiveAction { associatedtype ReceiveAction static func receive(_ result: TaskResult) -> Self var result: TaskResult? { get } } extension ReceiveAction { public var result: TaskResult? { AnyCasePath(unsafe: Self.receive).extract(from: self) } }