guard case let .simple("Result", (successType, failureType))? = destructure(returnType) else { throw MacroError("Invalid return type") }