The Swift Package Index logo.Swift Package Index

Has it really been five years since Swift Package Index launched? Read our anniversary blog post!

Build Information

Successful build of swift-composable-architecture, reference 1.23.1 (5b0890), with Swift 6.2 for macOS (SPM) on 28 Oct 2025 03:55:38 UTC.

Swift 6 data race errors: 0

Build Command

env DEVELOPER_DIR=/Applications/Xcode-26.0.0.app xcrun swift build --arch arm64

Build Log

   |                                                         ├─suggestion: Replace '9jd7x' with '(_,_,UInt64?,_,_,_,_,_)' for '@MainActor func receive<Value>(_ actionCase: CaseKeyPath<Action, Value>, _ value: Value, timeout nanoseconds: UInt64? = nil, assert updateStateToExpectedResult: ((inout State) throws -> Void)? = nil, fileID: StaticString = #fileID, file filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) async where Action : CasePathable, Value : Equatable'
   |                                                         ╰─suggestion: Replace '9jd7x' with '(_,_,Duration,_,_,_,_,_)' for '@MainActor func receive<Value>(_ actionCase: _SendableCaseKeyPath<Action, Value>, _ value: Value, timeout duration: Duration, assert updateStateToExpectedResult: ((inout State) throws -> Void)? = nil, fileID: StaticString = #fileID, file filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) async where Action : CasePathable, Value : Equatable, Value : Sendable'
26 | - ``assert(_:fileID:file:line:column:)``
27 | - ``finish(timeout:fileID:file:line:column:)-klnc``
warning: '8f2pl' isn't a disambiguation for 'send(_:assert:fileID:file:line:column:)' at '/ComposableArchitecture/TestStore'
  --> Extensions/TestStore.md:39:42-39:48
37 |
38 | While the most common way of interacting with a test store's state is via its
39 + ``send(_:assert:fileID:file:line:column:)-8f2pl`` and
   |                                          ├─suggestion: Replace '8f2pl' with '(Action,_,_,_,_,_)' for '@discardableResult @MainActor func send(_ action: Action, assert updateStateToExpectedResult: ((inout State) throws -> Void)? = nil, fileID: StaticString = #fileID, file filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) async -> TestStoreTask'
   |                                          ╰─suggestion: Replace '8f2pl' with '(CaseKeyPath<Action,Void>,_,_,_,_,_)' for '@discardableResult @MainActor func send(_ action: CaseKeyPath<Action, Void>, assert updateStateToExpectedResult: ((inout State) throws -> Void)? = nil, fileID: StaticString = #fileID, file filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) async -> TestStoreTask'
40 | ``receive(_:timeout:assert:fileID:file:line:column:)-53wic`` methods, you may also access it
41 | directly throughout a test.
warning: '53wic' isn't a disambiguation for 'receive(_:timeout:assert:fileID:file:line:column:)' at '/ComposableArchitecture/TestStore'
  --> Extensions/TestStore.md:40:53-40:59
38 | While the most common way of interacting with a test store's state is via its
39 | ``send(_:assert:fileID:file:line:column:)-8f2pl`` and
40 + ``receive(_:timeout:assert:fileID:file:line:column:)-53wic`` methods, you may also access it
   |                                                     ├─suggestion: Replace '53wic' with '(Action,Duration,_,_,_,_,_)' for '@MainActor func receive(_ expectedAction: Action, timeout duration: Duration, assert updateStateToExpectedResult: ((inout State) throws -> Void)? = nil, fileID: StaticString = #fileID, file filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) async'
   |                                                     ├─suggestion: Replace '53wic' with '(Action,UInt64?,_,_,_,_,_)' for '@MainActor func receive(_ expectedAction: Action, timeout nanoseconds: UInt64? = nil, assert updateStateToExpectedResult: ((inout State) throws -> Void)? = nil, fileID: StaticString = #fileID, file filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) async'
   |                                                     ├─suggestion: Replace '53wic' with '((Action)->Bool,Duration,_,_,_,_,_)' for '@MainActor func receive(_ isMatching: (Action) -> Bool, timeout duration: Duration, assert updateStateToExpectedResult: ((inout State) throws -> Void)? = nil, fileID: StaticString = #fileID, file filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) async'
   |                                                     ├─suggestion: Replace '53wic' with '((Action)->Bool,UInt64?,_,_,_,_,_)' for '@MainActor func receive(_ isMatching: (Action) -> Bool, timeout nanoseconds: UInt64? = nil, assert updateStateToExpectedResult: ((inout State) throws -> Void)? = nil, fileID: StaticString = #fileID, file filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) async'
   |                                                     ├─suggestion: Replace '53wic' with '(AnyCasePath<Action,Value>,Duration,_,_,_,_,_)' for '@MainActor func receive<Value>(_ actionCase: AnyCasePath<Action, Value>, timeout duration: Duration, assert updateStateToExpectedResult: ((inout State) throws -> Void)? = nil, fileID: StaticString = #fileID, file filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) async'
   |                                                     ├─suggestion: Replace '53wic' with '(AnyCasePath<Action,Value>,UInt64?,_,_,_,_,_)' for '@MainActor func receive<Value>(_ actionCase: AnyCasePath<Action, Value>, timeout nanoseconds: UInt64? = nil, assert updateStateToExpectedResult: ((inout State) throws -> Void)? = nil, fileID: StaticString = #fileID, file filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) async'
   |                                                     ├─suggestion: Replace '53wic' with '(CaseKeyPath<Action,Value>,Duration,_,_,_,_,_)' for '@MainActor func receive<Value>(_ actionCase: CaseKeyPath<Action, Value>, timeout duration: Duration, assert updateStateToExpectedResult: ((inout State) throws -> Void)? = nil, fileID: StaticString = #fileID, file filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) async'
   |                                                     ╰─suggestion: Replace '53wic' with '(CaseKeyPath<Action,Value>,UInt64?,_,_,_,_,_)' for '@MainActor func receive<Value>(_ actionCase: CaseKeyPath<Action, Value>, timeout nanoseconds: UInt64? = nil, assert updateStateToExpectedResult: ((inout State) throws -> Void)? = nil, fileID: StaticString = #fileID, file filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) async'
41 | directly throughout a test.
42 |
warning: 'ObjectiveC' doesn't exist at '/ComposableArchitecture/UIKit'
  --> Extensions/UIKit.md:14:5-14:15
12 | ### Subscribing to state changes
13 |
14 + - ``ObjectiveC/NSObject/observe(_:)-94oxy``
15 | - ``ObservationToken``
16 |
warning: 'ObservationToken' doesn't exist at '/ComposableArchitecture/UIKit'
  --> Extensions/UIKit.md:15:5-15:21
13 |
14 | - ``ObjectiveC/NSObject/observe(_:)-94oxy``
15 + - ``ObservationToken``
16 |
17 | ### Presenting alerts and action sheets
warning: 'UIAlertController' doesn't exist at '/ComposableArchitecture/UIKit'
  --> Extensions/UIKit.md:19:11-19:28
17 | ### Presenting alerts and action sheets
18 |
19 + - ``UIKit/UIAlertController``
20 |
21 | ### Stack-based navigation
warning: 'UIKitNavigation' doesn't exist at '/ComposableArchitecture/UIKit'
  --> Extensions/UIKit.md:23:5-23:20
21 | ### Stack-based navigation
22 |
23 + - ``UIKitNavigation/NavigationStackController``
24 | - ``UIKitNavigation/UIPushAction``
25 |
warning: 'UIKitNavigation' doesn't exist at '/ComposableArchitecture/UIKit'
  --> Extensions/UIKit.md:24:5-24:20
22 |
23 | - ``UIKitNavigation/NavigationStackController``
24 + - ``UIKitNavigation/UIPushAction``
25 |
26 | ### Combine integration
warning: '8f2pl' isn't a disambiguation for 'send(_:assert:fileID:file:line:column:)' at '/ComposableArchitecture/TestStore'
  --> Tutorials/BuildingSyncUps/02-ListsOfSyncUps/TestingListOfSyncUps.tutorial:55:83-55:89
53 |       @Step {
54 |         Provide a trailing closure to
55 +         ``ComposableArchitecture/TestStore/send(_:assert:fileID:file:line:column:)-8f2pl`` that mutates the state
   |                                                                                   ├─suggestion: Replace '8f2pl' with '(Action,_,_,_,_,_)' for '@discardableResult @MainActor func send(_ action: Action, assert updateStateToExpectedResult: ((inout State) throws -> Void)? = nil, fileID: StaticString = #fileID, file filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) async -> TestStoreTask'
   |                                                                                   ╰─suggestion: Replace '8f2pl' with '(CaseKeyPath<Action,Void>,_,_,_,_,_)' for '@discardableResult @MainActor func send(_ action: CaseKeyPath<Action, Void>, assert updateStateToExpectedResult: ((inout State) throws -> Void)? = nil, fileID: StaticString = #fileID, file filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) async -> TestStoreTask'
56 |         to its final value. In particular, we expect the `syncUps` to be an empty array, and for
57 |         no other changes to happen.
warning: '4ub6q' isn't a disambiguation for 'ifLet(_:action:destination:fileID:filePath:line:column:)' at '/ComposableArchitecture/Reducer'
  --> Tutorials/BuildingSyncUps/04-PresentingSyncUpForm/PresentingSyncUpForm.tutorial:52:96-52:102
50 |
51 |       The way one integrates an optional child feature into a parent feature is via the
52 +       ``ComposableArchitecture/Reducer/ifLet(_:action:destination:fileID:filePath:line:column:)-4ub6q``
   |                                                                                                ├─suggestion: Replace '4ub6q' with '(_,AnyCasePath<Self.Action,PresentationAction<DestinationAction>>,_,_,_,_,_)' for '@warn_unqualified_access func ifLet<DestinationState, DestinationAction, Destination>(_ toPresentationState: WritableKeyPath<Self.State, PresentationState<DestinationState>>, action toPresentationAction: AnyCasePath<Self.Action, PresentationAction<DestinationAction>>, @ReducerBuilder<DestinationState, DestinationAction> destination: () -> Destination, fileID: StaticString = #fileID, filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) -> some Reducer<Self.State, Self.Action> where DestinationState == Destination.State, DestinationAction == Destination.Action, Destination : Reducer'
   |                                                                                                ╰─suggestion: Replace '4ub6q' with '(_,CaseKeyPath<Self.Action,PresentationAction<DestinationAction>>,_,_,_,_,_)' for '@warn_unqualified_access func ifLet<DestinationState, DestinationAction, Destination>(_ toPresentationState: WritableKeyPath<Self.State, PresentationState<DestinationState>>, action toPresentationAction: CaseKeyPath<Self.Action, PresentationAction<DestinationAction>>, @ReducerBuilder<DestinationState, DestinationAction> destination: () -> Destination, fileID: StaticString = #fileID, filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) -> some Reducer<Self.State, Self.Action> where DestinationState == Destination.State, DestinationAction == Destination.Action, Destination : Reducer'
53 |       reducer operator. It allows you to single out the presentation domain of a child feature
54 |       embedded in the parent feature, and then specify the child reducer to run on that domain. It
warning: 'Binding' doesn't exist at '/ComposableArchitecture/SwiftUI'
   --> Tutorials/BuildingSyncUps/04-PresentingSyncUpForm/PresentingSyncUpForm.tutorial:115:44-115:51
113 |       Luckily the library comes with the tools necessary. Just as there is a scoping operation on
114 |       stores for focusing on sub-domains of a parent domain, there is also a scope on _bindings_ of
115 +       stores for doing the same: ``SwiftUI/Binding/scope(state:action:fileID:filePath:line:column:)``. This tool can
116 |       be used to derive a binding that is appropriate to pass to `sheet(item:)`.
117 |
warning: 'Binding' doesn't exist at '/ComposableArchitecture/SwiftUI'
   --> Tutorials/BuildingSyncUps/04-PresentingSyncUpForm/PresentingSyncUpForm.tutorial:130:27-130:34
128 |
129 |       @Step {
130 +         Use the ``SwiftUI/Binding/scope(state:action:fileID:filePath:line:column:)`` operator on `$store` to focus
131 |         the binding to the presentation domain of the `SyncUpForm`. The `sheet(item:)` modifier will
132 |         hand the trailing closure a `StoreOf<SyncUpForm>`, and that is exactly what can be handed to
warning: '8f2pl' isn't a disambiguation for 'send(_:assert:fileID:file:line:column:)' at '/ComposableArchitecture/TestStore'
   --> Tutorials/BuildingSyncUps/04-PresentingSyncUpForm/TestingSyncUpFormPresentation.tutorial:204:81-204:87
202 |       Already we can see a difference between non-exhaustive and exhaustive test stores. We are not
203 |       specifying the trailing closure in
204 +       ``ComposableArchitecture/TestStore/send(_:assert:fileID:file:line:column:)-8f2pl`` to assert on state
    |                                                                                 ├─suggestion: Replace '8f2pl' with '(Action,_,_,_,_,_)' for '@discardableResult @MainActor func send(_ action: Action, assert updateStateToExpectedResult: ((inout State) throws -> Void)? = nil, fileID: StaticString = #fileID, file filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) async -> TestStoreTask'
    |                                                                                 ╰─suggestion: Replace '8f2pl' with '(CaseKeyPath<Action,Void>,_,_,_,_,_)' for '@discardableResult @MainActor func send(_ action: CaseKeyPath<Action, Void>, assert updateStateToExpectedResult: ((inout State) throws -> Void)? = nil, fileID: StaticString = #fileID, file filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) async -> TestStoreTask'
205 |       changes, yet the test will still pass.
206 |
warning: '8f2pl' isn't a disambiguation for 'send(_:assert:fileID:file:line:column:)' at '/ComposableArchitecture/TestStore'
   --> Tutorials/BuildingSyncUps/04-PresentingSyncUpForm/TestingSyncUpFormPresentation.tutorial:209:81-209:87
207 |       A non-exhaustive store operates similarly to an exhaustive one, but with a few key
208 |       differences. In a non-exhaustive store, the `$0` handed to the trailing closure of
209 +       ``ComposableArchitecture/TestStore/send(_:assert:fileID:file:line:column:)-8f2pl`` is the state _after_
    |                                                                                 ├─suggestion: Replace '8f2pl' with '(Action,_,_,_,_,_)' for '@discardableResult @MainActor func send(_ action: Action, assert updateStateToExpectedResult: ((inout State) throws -> Void)? = nil, fileID: StaticString = #fileID, file filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) async -> TestStoreTask'
    |                                                                                 ╰─suggestion: Replace '8f2pl' with '(CaseKeyPath<Action,Void>,_,_,_,_,_)' for '@discardableResult @MainActor func send(_ action: CaseKeyPath<Action, Void>, assert updateStateToExpectedResult: ((inout State) throws -> Void)? = nil, fileID: StaticString = #fileID, file filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) async -> TestStoreTask'
210 |       the action has been processed, whereas in an exhaustive test store it is the state _before_.
211 |       This means in non-exhaustive test stores you do not have make any mutations in the trailing
warning: '4ub6q' isn't a disambiguation for 'ifLet(_:action:destination:fileID:filePath:line:column:)' at '/ComposableArchitecture/Reducer'
  --> Tutorials/BuildingSyncUps/06-SyncUpDetail/EditingAndDeletingSyncUp.tutorial:42:98-42:104
40 |       @Step {
41 |         Integrate the `SyncUpForm` reducer into the `SyncUpDetail` reducer by using the
42 +         ``ComposableArchitecture/Reducer/ifLet(_:action:destination:fileID:filePath:line:column:)-4ub6q``
   |                                                                                                  ├─suggestion: Replace '4ub6q' with '(_,AnyCasePath<Self.Action,PresentationAction<DestinationAction>>,_,_,_,_,_)' for '@warn_unqualified_access func ifLet<DestinationState, DestinationAction, Destination>(_ toPresentationState: WritableKeyPath<Self.State, PresentationState<DestinationState>>, action toPresentationAction: AnyCasePath<Self.Action, PresentationAction<DestinationAction>>, @ReducerBuilder<DestinationState, DestinationAction> destination: () -> Destination, fileID: StaticString = #fileID, filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) -> some Reducer<Self.State, Self.Action> where DestinationState == Destination.State, DestinationAction == Destination.Action, Destination : Reducer'
   |                                                                                                  ╰─suggestion: Replace '4ub6q' with '(_,CaseKeyPath<Self.Action,PresentationAction<DestinationAction>>,_,_,_,_,_)' for '@warn_unqualified_access func ifLet<DestinationState, DestinationAction, Destination>(_ toPresentationState: WritableKeyPath<Self.State, PresentationState<DestinationState>>, action toPresentationAction: CaseKeyPath<Self.Action, PresentationAction<DestinationAction>>, @ReducerBuilder<DestinationState, DestinationAction> destination: () -> Destination, fileID: StaticString = #fileID, filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) -> some Reducer<Self.State, Self.Action> where DestinationState == Destination.State, DestinationAction == Destination.Action, Destination : Reducer'
43 |         operator.
44 |
warning: 'Binding' doesn't exist at '/ComposableArchitecture/SwiftUI'
  --> Tutorials/BuildingSyncUps/06-SyncUpDetail/EditingAndDeletingSyncUp.tutorial:74:45-74:52
72 |       @Step {
73 |         At the very bottom of the view use the `sheet(item:)` modifier by deriving a binding to the
74 +         `SyncUpForm` domain using ``SwiftUI/Binding/scope(state:action:fileID:filePath:line:column:)``.
75 |
76 |         @Code(name: "SyncUpDetail.swift", file: EditingAndDeletingSyncUp-01-code-0006.swift)
warning: 'ifLet(_:action:then:fileID:line:)-7s8h2' doesn't exist at '/ComposableArchitecture/Reducer'
   --> Tutorials/BuildingSyncUps/06-SyncUpDetail/EditingAndDeletingSyncUp.tutorial:189:42-189:81
187 |       @Step {
188 |         Handle the `.alert` case in the reducer, and use the
189 +         ``ComposableArchitecture/Reducer/ifLet(_:action:then:fileID:line:)-7s8h2`` operator
    |                                          ├─suggestion: Replace 'ifLet(_:action:then:fileID:line:)-7s8h2' with 'ifLet(_:action:then:fileID:filePath:line:column:)'
    |                                          ├─suggestion: Replace 'ifLet(_:action:then:fileID:line:)-7s8h2' with 'ifCaseLet(_:action:then:fileID:filePath:line:column:)'
    |                                          ├─suggestion: Replace 'ifLet(_:action:then:fileID:line:)-7s8h2' with 'ifLet(_:action:destination:fileID:filePath:line:column:)'
    |                                          ├─suggestion: Replace 'ifLet(_:action:then:fileID:line:)-7s8h2' with 'ifLet(_:action:fileID:filePath:line:column:)'
    |                                          ╰─suggestion: Replace 'ifLet(_:action:then:fileID:line:)-7s8h2' with 'ifLet(_:action:)'
190 |         again to integrate the alert's logic into the `SyncUpDetail` reducer.
191 |
warning: 'run(priority:operation:catch:fileID:filePath:line:column:)' doesn't exist at '/ComposableArchitecture/Effect'
   --> Tutorials/BuildingSyncUps/06-SyncUpDetail/EditingAndDeletingSyncUp.tutorial:309:39-309:97
307 |       asynchronous function, and therefore it cannot be invoked directly in the reducer. It can
308 |       only be invoked inside an effect, and so we must use the
309 +       ``ComposableArchitecture/Effect/run(priority:operation:catch:fileID:filePath:line:column:)`` effect, which
    |                                       ╰─suggestion: Replace 'run(priority:operation:catch:fileID:filePath:line:column:)' with 'run(priority:name:operation:catch:fileID:filePath:line:column:)'
310 |       gives us an asynchronous context to execute the work in, as well as a handle on
311 |       ``ComposableArchitecture/Send`` for sending actions back into the system if needed.
warning: 'View' doesn't exist at '/ComposableArchitecture/SwiftUI'
   --> Tutorials/BuildingSyncUps/06-SyncUpDetail/EditingAndDeletingSyncUp.tutorial:323:75-323:79
321 |
322 |       @Step {
323 +         In the `SyncUpDetailView`, go to the bottom and use the ``SwiftUI/View/alert(_:)`` view
324 |         modifier that comes with the library. This will cause an alert to be presented when the
325 |         `alert` state is populated.
warning: 'View' doesn't exist at '/ComposableArchitecture/SwiftUI'
   --> Tutorials/BuildingSyncUps/06-SyncUpDetail/EditingAndDeletingSyncUp.tutorial:479:30-479:34
477 |
478 |       @Step {
479 +         Update the ``SwiftUI/View/alert(_:)`` and `.sheet(item:)` modifiers at the bottom of the
480 |         view so that the `$store.scope` further singles out the case for driving navigation.
481 |
warning: '90255' isn't a disambiguation for 'scope(state:action:)' at '/ComposableArchitecture/Store'
   --> Tutorials/BuildingSyncUps/07-SyncUpDetailNavigation/SyncUpDetailNavigation.tutorial:168:60-168:66
166 |       @Step {
167 |         For the root view we can construct the `SyncUpsListView` by using
168 +         ``ComposableArchitecture/Store/scope(state:action:)-90255`` on the `store` to isolate
    |                                                            ├─suggestion: Replace '90255' with '((State)->ChildState,_)' for '@MainActor func scope<ChildState, ChildAction>(state toChildState: @escaping (State) -> ChildState, action fromChildAction: @escaping (ChildAction) -> Action) -> Store<ChildState, ChildAction>'
    |                                                            ╰─suggestion: Replace '90255' with '(KeyPath<State,ChildState>,_)' for '@MainActor func scope<ChildState, ChildAction>(state: KeyPath<State, ChildState>, action: CaseKeyPath<Action, ChildAction>) -> Store<ChildState, ChildAction>'
169 |         the `SyncUpsList` domain.
170 |
warning: 'Destination-and-path-reducers' doesn't exist at '/ComposableArchitecture/Reducer'
   --> Tutorials/BuildingSyncUps/07-SyncUpDetailNavigation/SyncUpDetailNavigation.tutorial:180:26-180:55
178 |         a child store for each case of the enum.
179 |
180 +         See <doc:Reducer#Destination-and-path-reducers> for more information on this tool.
181 |
182 |         @Code(name: "App.swift", file: SyncUpDetailNavigation-02-code-0005.swift)
warning: 'Shared' doesn't exist at '/ComposableArchitecture'
  --> Tutorials/BuildingSyncUps/07-SyncUpDetailNavigation/TestingNavigation.tutorial:49:51-49:57
47 |         We will first emulate the user tapping on the sync-up in the list, which means sending a
48 |         ``ComposableArchitecture/StackAction/push(id:state:)`` action. However, to send that
49 +         action we need a ``ComposableArchitecture/Shared`` reference to the sync-up in the list.
   |                                                   ├─suggestion: Replace 'Shared' with 'Sharing'
   |                                                   ╰─suggestion: Replace 'Shared' with 'SharingState'
50 |
51 |         @Code(name: "AppFeatureTests.swift", file: TestingNavigation-01-code-0004.swift)
warning: 'run(priority:operation:catch:fileID:filePath:line:column:)' doesn't exist at '/ComposableArchitecture/Effect'
  --> Tutorials/BuildingSyncUps/08-RecordMeeting/ImplementingTimer.tutorial:37:39-37:97
35 |       In the `onAppear` action we want to start up a long-living effect that represents a timer.
36 |       Timers can be easily handled using an asynchronous context, and the
37 +       ``ComposableArchitecture/Effect/run(priority:operation:catch:fileID:filePath:line:column:)`` helper is
   |                                       ╰─suggestion: Replace 'run(priority:operation:catch:fileID:filePath:line:column:)' with 'run(priority:name:operation:catch:fileID:filePath:line:column:)'
38 |       what gives us an asynchronous context to work in.
39 |
warning: '3ux09' isn't a disambiguation for 'ifLet(_:action:fileID:filePath:line:column:)' at '/ComposableArchitecture/Reducer'
   --> Tutorials/BuildingSyncUps/08-RecordMeeting/ImplementingTimer.tutorial:240:94-240:100
238 |       }
239 |       @Step {
240 +         Use the ``ComposableArchitecture/Reducer/ifLet(_:action:fileID:filePath:line:column:)-3ux09``
    |                                                                                              ├─suggestion: Replace '3ux09' with '(_,AnyCasePath<Self.Action,PresentationAction<DestinationAction>>,_,_,_,_)' for '@warn_unqualified_access func ifLet<DestinationState, DestinationAction>(_ toPresentationState: WritableKeyPath<Self.State, PresentationState<DestinationState>>, action toPresentationAction: AnyCasePath<Self.Action, PresentationAction<DestinationAction>>, fileID: StaticString = #fileID, filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) -> some Reducer<Self.State, Self.Action> where DestinationState : _EphemeralState'
    |                                                                                              ├─suggestion: Replace '3ux09' with '(_,CaseKeyPath<Self.Action,PresentationAction<DestinationAction>>,_,_,_,_)' for '@warn_unqualified_access func ifLet<DestinationState, DestinationAction>(_ toPresentationState: WritableKeyPath<Self.State, PresentationState<DestinationState>>, action toPresentationAction: CaseKeyPath<Self.Action, PresentationAction<DestinationAction>>, fileID: StaticString = #fileID, filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) -> some Reducer<Self.State, Self.Action> where DestinationState : _EphemeralState'
    |                                                                                              ├─suggestion: Replace '-3ux09' with '->_IfLetReducer<Self,EmptyReducer<WrappedState,WrappedAction>>' for '@warn_unqualified_access func ifLet<WrappedState, WrappedAction>(_ toWrappedState: WritableKeyPath<Self.State, WrappedState?>, action toWrappedAction: AnyCasePath<Self.Action, WrappedAction>, fileID: StaticString = #fileID, filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) -> _IfLetReducer<Self, EmptyReducer<WrappedState, WrappedAction>> where WrappedState : _EphemeralState'
    |                                                                                              ╰─suggestion: Replace '3ux09' with '(_,CaseKeyPath<Self.Action,WrappedAction>,_,_,_,_)' for '@warn_unqualified_access func ifLet<WrappedState, WrappedAction>(_ toWrappedState: WritableKeyPath<Self.State, WrappedState?>, action toWrappedAction: CaseKeyPath<Self.Action, WrappedAction>, fileID: StaticString = #fileID, filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) -> some Reducer<Self.State, Self.Action> where WrappedState : _EphemeralState'
241 |         reducer method to integrate the alert's logic in your reducer.
242 |
warning: 'View' doesn't exist at '/ComposableArchitecture/SwiftUI'
   --> Tutorials/BuildingSyncUps/08-RecordMeeting/ImplementingTimer.tutorial:246:33-246:37
244 |       }
245 |       @Step {
246 +         Use SwiftUI's ``SwiftUI/View/alert(_:)`` view modifier to drive the presentation and
247 |         dismissal of the alert from the store.
248 |
warning: '53wic' isn't a disambiguation for 'receive(_:timeout:assert:fileID:file:line:column:)' at '/ComposableArchitecture/TestStore'
   --> Tutorials/BuildingSyncUps/08-RecordMeeting/ImplementingTimer.tutorial:374:102-374:108
372 |
373 |       @Step {
374 +         Use the ``ComposableArchitecture/TestStore/receive(_:timeout:assert:fileID:file:line:column:)-53wic``
    |                                                                                                      ├─suggestion: Replace '53wic' with '(Action,Duration,_,_,_,_,_)' for '@MainActor func receive(_ expectedAction: Action, timeout duration: Duration, assert updateStateToExpectedResult: ((inout State) throws -> Void)? = nil, fileID: StaticString = #fileID, file filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) async'
    |                                                                                                      ├─suggestion: Replace '53wic' with '(Action,UInt64?,_,_,_,_,_)' for '@MainActor func receive(_ expectedAction: Action, timeout nanoseconds: UInt64? = nil, assert updateStateToExpectedResult: ((inout State) throws -> Void)? = nil, fileID: StaticString = #fileID, file filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) async'
    |                                                                                                      ├─suggestion: Replace '53wic' with '((Action)->Bool,Duration,_,_,_,_,_)' for '@MainActor func receive(_ isMatching: (Action) -> Bool, timeout duration: Duration, assert updateStateToExpectedResult: ((inout State) throws -> Void)? = nil, fileID: StaticString = #fileID, file filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) async'
    |                                                                                                      ├─suggestion: Replace '53wic' with '((Action)->Bool,UInt64?,_,_,_,_,_)' for '@MainActor func receive(_ isMatching: (Action) -> Bool, timeout nanoseconds: UInt64? = nil, assert updateStateToExpectedResult: ((inout State) throws -> Void)? = nil, fileID: StaticString = #fileID, file filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) async'
    |                                                                                                      ├─suggestion: Replace '53wic' with '(AnyCasePath<Action,Value>,Duration,_,_,_,_,_)' for '@MainActor func receive<Value>(_ actionCase: AnyCasePath<Action, Value>, timeout duration: Duration, assert updateStateToExpectedResult: ((inout State) throws -> Void)? = nil, fileID: StaticString = #fileID, file filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) async'
    |                                                                                                      ├─suggestion: Replace '53wic' with '(AnyCasePath<Action,Value>,UInt64?,_,_,_,_,_)' for '@MainActor func receive<Value>(_ actionCase: AnyCasePath<Action, Value>, timeout nanoseconds: UInt64? = nil, assert updateStateToExpectedResult: ((inout State) throws -> Void)? = nil, fileID: StaticString = #fileID, file filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) async'
    |                                                                                                      ├─suggestion: Replace '53wic' with '(CaseKeyPath<Action,Value>,Duration,_,_,_,_,_)' for '@MainActor func receive<Value>(_ actionCase: CaseKeyPath<Action, Value>, timeout duration: Duration, assert updateStateToExpectedResult: ((inout State) throws -> Void)? = nil, fileID: StaticString = #fileID, file filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) async'
    |                                                                                                      ╰─suggestion: Replace '53wic' with '(CaseKeyPath<Action,Value>,UInt64?,_,_,_,_,_)' for '@MainActor func receive<Value>(_ actionCase: CaseKeyPath<Action, Value>, timeout nanoseconds: UInt64? = nil, assert updateStateToExpectedResult: ((inout State) throws -> Void)? = nil, fileID: StaticString = #fileID, file filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) async'
375 |         method to assert that the store receives a `timerTick` action, and that when that action is
376 |         received the `secondsElapsed` state increments to 1.
warning: 'Shared' doesn't exist at '/ComposableArchitecture'
  --> Tutorials/BuildingSyncUps/08-RecordMeeting/RecordMeetingFeature.tutorial:32:58-32:64
30 |         button for skipping a speaker's turn.
31 |
32 +         > Note: We are using [`@Shared`](<doc:ComposableArchitecture/Shared>) on the sync-up so
33 |         that this feature can make mutations to sync-up that are visible to other parts of the
34 |         application.
warning: 'run(priority:operation:catch:fileID:filePath:line:column:)' doesn't exist at '/ComposableArchitecture/Effect'
   --> Tutorials/MeetTheComposableArchitecture/01-Essentials/02-AddingSideEffects/01-02-AddingSideEffects.tutorial:110:41-110:99
108 |       @Step {
109 |         The primary way one constructs an ``ComposableArchitecture/Effect`` is via the static method
110 +         ``ComposableArchitecture/Effect/run(priority:operation:catch:fileID:filePath:line:column:)``. This provides
    |                                         ╰─suggestion: Replace 'run(priority:operation:catch:fileID:filePath:line:column:)' with 'run(priority:name:operation:catch:fileID:filePath:line:column:)'
111 |         you with an asynchronous context to perform any kind of work you want, as well as a handle
112 |         (`send`) for sending actions back into the system.
warning: '8f2pl' isn't a disambiguation for 'send(_:assert:fileID:file:line:column:)' at '/ComposableArchitecture/TestStore'
  --> Tutorials/MeetTheComposableArchitecture/01-Essentials/03-TestingYourFeatures/01-03-TestingYourFeature.tutorial:59:95-59:101
57 |         button.
58 |
59 +         > Note: The ``ComposableArchitecture/TestStore/send(_:assert:fileID:file:line:column:)-8f2pl`` method on
   |                                                                                               ├─suggestion: Replace '8f2pl' with '(Action,_,_,_,_,_)' for '@discardableResult @MainActor func send(_ action: Action, assert updateStateToExpectedResult: ((inout State) throws -> Void)? = nil, fileID: StaticString = #fileID, file filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) async -> TestStoreTask'
   |                                                                                               ╰─suggestion: Replace '8f2pl' with '(CaseKeyPath<Action,Void>,_,_,_,_,_)' for '@discardableResult @MainActor func send(_ action: CaseKeyPath<Action, Void>, assert updateStateToExpectedResult: ((inout State) throws -> Void)? = nil, fileID: StaticString = #fileID, file filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) async -> TestStoreTask'
60 |         the test store is async because most features involve asynchronous side effects, and the
61 |         test store uses the async context to track those effects.
warning: '53wic' isn't a disambiguation for 'receive(_:timeout:assert:fileID:file:line:column:)' at '/ComposableArchitecture/TestStore'
   --> Tutorials/MeetTheComposableArchitecture/01-Essentials/03-TestingYourFeatures/01-03-TestingYourFeature.tutorial:157:92-157:98
155 |       like to assert that after some time a `timerTick` action is sent into the system and causes
156 |       the `count` to increment. This can be done by using the
157 +       ``ComposableArchitecture/TestStore/receive(_:timeout:assert:fileID:file:line:column:)-53wic`` method on
    |                                                                                            ├─suggestion: Replace '53wic' with '(Action,Duration,_,_,_,_,_)' for '@MainActor func receive(_ expectedAction: Action, timeout duration: Duration, assert updateStateToExpectedResult: ((inout State) throws -> Void)? = nil, fileID: StaticString = #fileID, file filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) async'
    |                                                                                            ├─suggestion: Replace '53wic' with '(Action,UInt64?,_,_,_,_,_)' for '@MainActor func receive(_ expectedAction: Action, timeout nanoseconds: UInt64? = nil, assert updateStateToExpectedResult: ((inout State) throws -> Void)? = nil, fileID: StaticString = #fileID, file filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) async'
    |                                                                                            ├─suggestion: Replace '53wic' with '((Action)->Bool,Duration,_,_,_,_,_)' for '@MainActor func receive(_ isMatching: (Action) -> Bool, timeout duration: Duration, assert updateStateToExpectedResult: ((inout State) throws -> Void)? = nil, fileID: StaticString = #fileID, file filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) async'
    |                                                                                            ├─suggestion: Replace '53wic' with '((Action)->Bool,UInt64?,_,_,_,_,_)' for '@MainActor func receive(_ isMatching: (Action) -> Bool, timeout nanoseconds: UInt64? = nil, assert updateStateToExpectedResult: ((inout State) throws -> Void)? = nil, fileID: StaticString = #fileID, file filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) async'
    |                                                                                            ├─suggestion: Replace '53wic' with '(AnyCasePath<Action,Value>,Duration,_,_,_,_,_)' for '@MainActor func receive<Value>(_ actionCase: AnyCasePath<Action, Value>, timeout duration: Duration, assert updateStateToExpectedResult: ((inout State) throws -> Void)? = nil, fileID: StaticString = #fileID, file filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) async'
    |                                                                                            ├─suggestion: Replace '53wic' with '(AnyCasePath<Action,Value>,UInt64?,_,_,_,_,_)' for '@MainActor func receive<Value>(_ actionCase: AnyCasePath<Action, Value>, timeout nanoseconds: UInt64? = nil, assert updateStateToExpectedResult: ((inout State) throws -> Void)? = nil, fileID: StaticString = #fileID, file filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) async'
    |                                                                                            ├─suggestion: Replace '53wic' with '(CaseKeyPath<Action,Value>,Duration,_,_,_,_,_)' for '@MainActor func receive<Value>(_ actionCase: CaseKeyPath<Action, Value>, timeout duration: Duration, assert updateStateToExpectedResult: ((inout State) throws -> Void)? = nil, fileID: StaticString = #fileID, file filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) async'
    |                                                                                            ╰─suggestion: Replace '53wic' with '(CaseKeyPath<Action,Value>,UInt64?,_,_,_,_,_)' for '@MainActor func receive<Value>(_ actionCase: CaseKeyPath<Action, Value>, timeout nanoseconds: UInt64? = nil, assert updateStateToExpectedResult: ((inout State) throws -> Void)? = nil, fileID: StaticString = #fileID, file filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) async'
158 |       test store to assert that you expect to receive an action, and describe how state mutates
159 |       upon receiving that action.
warning: '90255' isn't a disambiguation for 'scope(state:action:)' at '/ComposableArchitecture/Store'
   --> Tutorials/MeetTheComposableArchitecture/01-Essentials/04-ComposingFeatures/01-04-ComposingFeatures.tutorial:198:68-198:74
196 |
197 |       @Step {
198 +         Use the ``ComposableArchitecture/Store/scope(state:action:)-90255`` method on
    |                                                                    ├─suggestion: Replace '90255' with '((State)->ChildState,_)' for '@MainActor func scope<ChildState, ChildAction>(state toChildState: @escaping (State) -> ChildState, action fromChildAction: @escaping (ChildAction) -> Action) -> Store<ChildState, ChildAction>'
    |                                                                    ╰─suggestion: Replace '90255' with '(KeyPath<State,ChildState>,_)' for '@MainActor func scope<ChildState, ChildAction>(state: KeyPath<State, ChildState>, action: CaseKeyPath<Action, ChildAction>) -> Store<ChildState, ChildAction>'
199 |         ``ComposableArchitecture/Store`` to derive a child store focused in on just the `tab1`
200 |         domain. This is done by using key path syntax to single out the field of the state and
warning: '90255' isn't a disambiguation for 'scope(state:action:)' at '/ComposableArchitecture/Store'
   --> Tutorials/MeetTheComposableArchitecture/01-Essentials/04-ComposingFeatures/01-04-ComposingFeatures.tutorial:235:68-235:74
233 |       and using the ``ComposableArchitecture/Scope`` reducer to focus in on a sub-domain of
234 |       the parent to run a child reducer. Then in the view you derive child stores from the parent
235 +       using the ``ComposableArchitecture/Store/scope(state:action:)-90255`` and hand those child
    |                                                                    ├─suggestion: Replace '90255' with '((State)->ChildState,_)' for '@MainActor func scope<ChildState, ChildAction>(state toChildState: @escaping (State) -> ChildState, action fromChildAction: @escaping (ChildAction) -> Action) -> Store<ChildState, ChildAction>'
    |                                                                    ╰─suggestion: Replace '90255' with '(KeyPath<State,ChildState>,_)' for '@MainActor func scope<ChildState, ChildAction>(state: KeyPath<State, ChildState>, action: CaseKeyPath<Action, ChildAction>) -> Store<ChildState, ChildAction>'
236 |       stores to the child views.
237 |
warning: '4ub6q' isn't a disambiguation for 'ifLet(_:action:destination:fileID:filePath:line:column:)' at '/ComposableArchitecture/Reducer'
   --> Tutorials/MeetTheComposableArchitecture/02-Navigation/01-YourFirstPresentation/02-01-YourFirstPresentation.tutorial:105:96-105:102
103 |       ``ComposableArchitecture/Presents()`` and ``ComposableArchitecture/PresentationAction``
104 |       to integrate the domains, and the reducer operator
105 +       ``ComposableArchitecture/Reducer/ifLet(_:action:destination:fileID:filePath:line:column:)-4ub6q`` to
    |                                                                                                ├─suggestion: Replace '4ub6q' with '(_,AnyCasePath<Self.Action,PresentationAction<DestinationAction>>,_,_,_,_,_)' for '@warn_unqualified_access func ifLet<DestinationState, DestinationAction, Destination>(_ toPresentationState: WritableKeyPath<Self.State, PresentationState<DestinationState>>, action toPresentationAction: AnyCasePath<Self.Action, PresentationAction<DestinationAction>>, @ReducerBuilder<DestinationState, DestinationAction> destination: () -> Destination, fileID: StaticString = #fileID, filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) -> some Reducer<Self.State, Self.Action> where DestinationState == Destination.State, DestinationAction == Destination.Action, Destination : Reducer'
    |                                                                                                ╰─suggestion: Replace '4ub6q' with '(_,CaseKeyPath<Self.Action,PresentationAction<DestinationAction>>,_,_,_,_,_)' for '@warn_unqualified_access func ifLet<DestinationState, DestinationAction, Destination>(_ toPresentationState: WritableKeyPath<Self.State, PresentationState<DestinationState>>, action toPresentationAction: CaseKeyPath<Self.Action, PresentationAction<DestinationAction>>, @ReducerBuilder<DestinationState, DestinationAction> destination: () -> Destination, fileID: StaticString = #fileID, filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) -> some Reducer<Self.State, Self.Action> where DestinationState == Destination.State, DestinationAction == Destination.Action, Destination : Reducer'
106 |       integrate the reducers.
107 |     }
warning: '4ub6q' isn't a disambiguation for 'ifLet(_:action:destination:fileID:filePath:line:column:)' at '/ComposableArchitecture/Reducer'
   --> Tutorials/MeetTheComposableArchitecture/02-Navigation/01-YourFirstPresentation/02-01-YourFirstPresentation.tutorial:147:98-147:104
145 |       @Step {
146 |         Integrate the reducers together by making use of the
147 +         ``ComposableArchitecture/Reducer/ifLet(_:action:destination:fileID:filePath:line:column:)-4ub6q``
    |                                                                                                  ├─suggestion: Replace '4ub6q' with '(_,AnyCasePath<Self.Action,PresentationAction<DestinationAction>>,_,_,_,_,_)' for '@warn_unqualified_access func ifLet<DestinationState, DestinationAction, Destination>(_ toPresentationState: WritableKeyPath<Self.State, PresentationState<DestinationState>>, action toPresentationAction: AnyCasePath<Self.Action, PresentationAction<DestinationAction>>, @ReducerBuilder<DestinationState, DestinationAction> destination: () -> Destination, fileID: StaticString = #fileID, filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) -> some Reducer<Self.State, Self.Action> where DestinationState == Destination.State, DestinationAction == Destination.Action, Destination : Reducer'
    |                                                                                                  ╰─suggestion: Replace '4ub6q' with '(_,CaseKeyPath<Self.Action,PresentationAction<DestinationAction>>,_,_,_,_,_)' for '@warn_unqualified_access func ifLet<DestinationState, DestinationAction, Destination>(_ toPresentationState: WritableKeyPath<Self.State, PresentationState<DestinationState>>, action toPresentationAction: CaseKeyPath<Self.Action, PresentationAction<DestinationAction>>, @ReducerBuilder<DestinationState, DestinationAction> destination: () -> Destination, fileID: StaticString = #fileID, filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) -> some Reducer<Self.State, Self.Action> where DestinationState == Destination.State, DestinationAction == Destination.Action, Destination : Reducer'
148 |         reducer operator.
149 |
warning: '4ub6q' isn't a disambiguation for 'ifLet(_:action:destination:fileID:filePath:line:column:)' at '/ComposableArchitecture/Reducer'
  --> Tutorials/MeetTheComposableArchitecture/02-Navigation/02-MultipleDestinations/02-02-MultipleDestinations.tutorial:14:96-14:102
12 |       that we used last section, such as ``ComposableArchitecture/Presents()``,
13 |       ``ComposableArchitecture/PresentationAction`` and
14 +       ``ComposableArchitecture/Reducer/ifLet(_:action:destination:fileID:filePath:line:column:)-4ub6q``, all work
   |                                                                                                ├─suggestion: Replace '4ub6q' with '(_,AnyCasePath<Self.Action,PresentationAction<DestinationAction>>,_,_,_,_,_)' for '@warn_unqualified_access func ifLet<DestinationState, DestinationAction, Destination>(_ toPresentationState: WritableKeyPath<Self.State, PresentationState<DestinationState>>, action toPresentationAction: AnyCasePath<Self.Action, PresentationAction<DestinationAction>>, @ReducerBuilder<DestinationState, DestinationAction> destination: () -> Destination, fileID: StaticString = #fileID, filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) -> some Reducer<Self.State, Self.Action> where DestinationState == Destination.State, DestinationAction == Destination.Action, Destination : Reducer'
   |                                                                                                ╰─suggestion: Replace '4ub6q' with '(_,CaseKeyPath<Self.Action,PresentationAction<DestinationAction>>,_,_,_,_,_)' for '@warn_unqualified_access func ifLet<DestinationState, DestinationAction, Destination>(_ toPresentationState: WritableKeyPath<Self.State, PresentationState<DestinationState>>, action toPresentationAction: CaseKeyPath<Self.Action, PresentationAction<DestinationAction>>, @ReducerBuilder<DestinationState, DestinationAction> destination: () -> Destination, fileID: StaticString = #fileID, filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) -> some Reducer<Self.State, Self.Action> where DestinationState == Destination.State, DestinationAction == Destination.Action, Destination : Reducer'
15 |       for presenting alerts from optional state too.
16 |     }
warning: '4ub6q' isn't a disambiguation for 'ifLet(_:action:destination:fileID:filePath:line:column:)' at '/ComposableArchitecture/Reducer'
  --> Tutorials/MeetTheComposableArchitecture/02-Navigation/02-MultipleDestinations/02-02-MultipleDestinations.tutorial:59:98-59:104
57 |       @Step {
58 |         Integrate the alert's logic into the `ContactsFeature` by making another use of the
59 +         ``ComposableArchitecture/Reducer/ifLet(_:action:destination:fileID:filePath:line:column:)-4ub6q`` operator.
   |                                                                                                  ├─suggestion: Replace '4ub6q' with '(_,AnyCasePath<Self.Action,PresentationAction<DestinationAction>>,_,_,_,_,_)' for '@warn_unqualified_access func ifLet<DestinationState, DestinationAction, Destination>(_ toPresentationState: WritableKeyPath<Self.State, PresentationState<DestinationState>>, action toPresentationAction: AnyCasePath<Self.Action, PresentationAction<DestinationAction>>, @ReducerBuilder<DestinationState, DestinationAction> destination: () -> Destination, fileID: StaticString = #fileID, filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) -> some Reducer<Self.State, Self.Action> where DestinationState == Destination.State, DestinationAction == Destination.Action, Destination : Reducer'
   |                                                                                                  ╰─suggestion: Replace '4ub6q' with '(_,CaseKeyPath<Self.Action,PresentationAction<DestinationAction>>,_,_,_,_,_)' for '@warn_unqualified_access func ifLet<DestinationState, DestinationAction, Destination>(_ toPresentationState: WritableKeyPath<Self.State, PresentationState<DestinationState>>, action toPresentationAction: CaseKeyPath<Self.Action, PresentationAction<DestinationAction>>, @ReducerBuilder<DestinationState, DestinationAction> destination: () -> Destination, fileID: StaticString = #fileID, filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) -> some Reducer<Self.State, Self.Action> where DestinationState == Destination.State, DestinationAction == Destination.Action, Destination : Reducer'
60 |
61 |         @Code(name: "ContactsFeatures.swift", file: 02-02-01-code-0004.swift)
warning: 'View' doesn't exist at '/ComposableArchitecture/SwiftUI'
  --> Tutorials/MeetTheComposableArchitecture/02-Navigation/02-MultipleDestinations/02-02-MultipleDestinations.tutorial:73:17-73:21
71 |       That's all it takes to integrate the alert it the `ContactsFeature` and implement all of its
72 |       logic. Next we need to integrate the alert into the view. The library ships a special
73 +       ``SwiftUI/View/alert(store:)`` view modifier that is tuned specifically for
74 |       ``ComposableArchitecture/Store``s.
75 |
warning: 'View' doesn't exist at '/ComposableArchitecture/SwiftUI'
  --> Tutorials/MeetTheComposableArchitecture/02-Navigation/02-MultipleDestinations/02-02-MultipleDestinations.tutorial:77:27-77:31
75 |
76 |       @Step {
77 +         Add the ``SwiftUI/View/alert(_:)`` view modifier to the `ContactsView`, and hand it a
78 |         store that is scoped to the alert domain.
79 |
warning: '9svqb' isn't a disambiguation for 'forEach(_:action:destination:fileID:filePath:line:column:)' at '/ComposableArchitecture/Reducer'
   --> Tutorials/MeetTheComposableArchitecture/02-Navigation/04-NavigationStacks/02-04-NavigationStacks.tutorial:116:100-116:106
114 |       @Step {
115 |         At the very end of the reducer use the
116 +         ``ComposableArchitecture/Reducer/forEach(_:action:destination:fileID:filePath:line:column:)-9svqb`` operator
    |                                                                                                    ├─suggestion: Replace '9svqb' with '(_,AnyCasePath<Self.Action,StackAction<DestinationState,DestinationAction>>,_,_,_,_,_)' for '@warn_unqualified_access func forEach<DestinationState, DestinationAction, Destination>(_ toStackState: WritableKeyPath<Self.State, StackState<DestinationState>>, action toStackAction: AnyCasePath<Self.Action, StackAction<DestinationState, DestinationAction>>, @ReducerBuilder<DestinationState, DestinationAction> destination: () -> Destination, fileID: StaticString = #fileID, filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) -> some Reducer<Self.State, Self.Action> where DestinationState == Destination.State, DestinationAction == Destination.Action, Destination : Reducer'
    |                                                                                                    ╰─suggestion: Replace '9svqb' with '(_,CaseKeyPath<Self.Action,StackAction<DestinationState,DestinationAction>>,_,_,_,_,_)' for '@warn_unqualified_access func forEach<DestinationState, DestinationAction, Destination>(_ toStackState: WritableKeyPath<Self.State, StackState<DestinationState>>, action toStackAction: CaseKeyPath<Self.Action, StackAction<DestinationState, DestinationAction>>, @ReducerBuilder<DestinationState, DestinationAction> destination: () -> Destination, fileID: StaticString = #fileID, filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) -> some Reducer<Self.State, Self.Action> where DestinationState == Destination.State, DestinationAction == Destination.Action, Destination : Reducer'
117 |         to integrate the `ContactDetailFeature` into the stack of the `ContactsFeature`.
118 |
warning: 'run(priority:operation:catch:fileID:filePath:line:column:)' doesn't exist at '/ComposableArchitecture/Effect/run(priority:name:operation:catch:fileID:filePath:line:column:)'
  --> ../Effect.swift:75:33-75:91
73 |   /// See ``Send`` for more information on how to use the `send` argument passed to `run`'s closure.
74 |   ///
75 +   /// The closure provided to ``run(priority:operation:catch:fileID:filePath:line:column:)`` is
76 |   /// allowed to throw, but any non-cancellation errors thrown will cause a runtime warning when run
77 |   /// in the simulator or on a device, and will cause a test failure in tests. To catch
warning: 'run(priority:operation:catch:fileID:filePath:line:column:)' doesn't exist at '/ComposableArchitecture/Effect'
   --> ../Effect.swift:168:14-168:72
166 |
167 | /// A type that can send actions back into the system when used from
168 + /// ``Effect/run(priority:operation:catch:fileID:filePath:line:column:)``.
    |              ╰─suggestion: Replace 'run(priority:operation:catch:fileID:filePath:line:column:)' with 'run(priority:name:operation:catch:fileID:filePath:line:column:)'
169 | ///
170 | /// This type implements [`callAsFunction`][callAsFunction] so that you invoke it as a function
warning: 'run(priority:operation:catch:fileID:filePath:line:column:)' doesn't exist at '/ComposableArchitecture/Effect'
   --> ../Effect.swift:190:18-190:76
188 | /// ```
189 | ///
190 + /// See ``Effect/run(priority:operation:catch:fileID:filePath:line:column:)`` for more information on how to
    |                  ╰─suggestion: Replace 'run(priority:operation:catch:fileID:filePath:line:column:)' with 'run(priority:name:operation:catch:fileID:filePath:line:column:)'
191 | /// use this value to construct effects that can emit any number of times in an asynchronous
192 | /// context.
warning: 'run(priority:operation:catch:fileID:filePath:line:column:)' doesn't exist at '/ComposableArchitecture/Effect'
  --> ../Effects/TaskResult.swift:32:38-32:96
30 | /// ```
31 | ///
32 + /// And finally you can use ``Effect/run(priority:operation:catch:fileID:filePath:line:column:)`` to construct an
   |                                      ╰─suggestion: Replace 'run(priority:operation:catch:fileID:filePath:line:column:)' with 'run(priority:name:operation:catch:fileID:filePath:line:column:)'
33 | /// effect in the reducer that invokes the `numberFact` endpoint and wraps its response in a
34 | /// ``TaskResult`` by using its catching initializer, ``TaskResult/init(catching:)``:
warning: 'Reducers' doesn't exist at '/ComposableArchitecture/_SynthesizedConformance'
  --> ../Macros.swift:52:14-52:22
50 | /// the ``Reducer()`` macro.
51 | ///
52 + /// See <doc:Reducers#Synthesizing-protocol-conformances-on-State-and-Action> for more information.
53 | @_documentation(visibility: public)
54 | #if compiler(>=6)
warning: 'Binding' doesn't exist at '/ComposableArchitecture/SwiftUI'
  --> ../Observation/NavigationStack+Observation.swift:92:21-92:28
90 |   /// Derives a binding to a store focused on ``StackState`` and ``StackAction``.
91 |   ///
92 +   /// See ``SwiftUI/Binding/scope(state:action:fileID:filePath:line:column:)`` defined on `Binding` for more
93 |   /// information.
94 |   #if swift(>=5.10)
warning: 'Binding' doesn't exist at '/ComposableArchitecture/SwiftUI'
   --> ../Observation/NavigationStack+Observation.swift:115:21-115:28
113 |   /// Derives a binding to a store focused on ``StackState`` and ``StackAction``.
114 |   ///
115 +   /// See ``SwiftUI/Binding/scope(state:action:fileID:filePath:line:column:)`` defined on `Binding` for more
116 |   /// information.
117 |   public func scope<State: ObservableState, Action, ElementState, ElementAction>(
warning: 'Binding' doesn't exist at '/ComposableArchitecture/SwiftUI'
   --> ../Observation/NavigationStack+Observation.swift:129:21-129:28
127 |   /// Derives a binding to a store focused on ``StackState`` and ``StackAction``.
128 |   ///
129 +   /// See ``SwiftUI/Binding/scope(state:action:fileID:filePath:line:column:)`` defined on `Binding` for more
130 |   /// information.
131 |   #if swift(>=5.10)
warning: Parameter 'shouldNotifyObservers' is missing documentation
  --> ../Observation/ObservationStateRegistrar.swift:47:34-47:34
45 |     ///   - newValue: The new value to mutate with.
46 |     ///   - isIdentityEqual: A comparison function that determines whether two values have the
47 +     ///     same identity or not.
   |                                  ╰─suggestion: Document 'shouldNotifyObservers' parameter
48 |     @inlinable
49 |     public func mutate<Subject: Observable, Member, Value>(
warning: 'didModify(_:keyPath:_:_:_:)-34nhq' doesn't exist at '/ComposableArchitecture/ObservationStateRegistrar/didModify(_:keyPath:_:_:_:_:)'
   --> ../Observation/ObservationStateRegistrar.swift:98:11-98:44
96  |     ///
97  |     /// If the identity of the value changed between ``willModify(_:keyPath:_:)-29op6`` and
98  +     /// ``didModify(_:keyPath:_:_:_:)-34nhq``, observers are notified.
99  |     @inlinable
100 |     public func didModify<Subject: Observable, Member>(
warning: '6zye8' isn't a disambiguation for 'forEach(_:action:element:fileID:filePath:line:column:)' at '/ComposableArchitecture/Reducer'
 --> ../Reducer/Reducers/ForEachReducer.swift:6:69-6:75
4 | ///
5 | /// Use this type for modeling a feature's domain that needs to present child features using
6 + /// ``Reducer/forEach(_:action:element:fileID:filePath:line:column:)-6zye8``.
  |                                                                     ├─suggestion: Replace '6zye8' with '(_,AnyCasePath<Self.Action,(ID,ElementAction)>,_,_,_,_,_)' for '@warn_unqualified_access func forEach<ElementState, ElementAction, ID, Element>(_ toElementsState: WritableKeyPath<Self.State, IdentifiedArray<ID, ElementState>>, action toElementAction: AnyCasePath<Self.Action, (ID, ElementAction)>, @ReducerBuilder<ElementState, ElementAction> element: () -> Element, fileID: StaticString = #fileID, filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) -> some Reducer<Self.State, Self.Action> where ElementState == Element.State, ElementAction == Element.Action, ID : Hashable, ID : Sendable, Element : Reducer'
  |                                                                     ╰─suggestion: Replace '6zye8' with '(_,CaseKeyPath<Self.Action,IdentifiedAction<ID,ElementAction>>,_,_,_,_,_)' for '@warn_unqualified_access func forEach<ElementState, ElementAction, ID, Element>(_ toElementsState: WritableKeyPath<Self.State, IdentifiedArray<ID, ElementState>>, action toElementAction: CaseKeyPath<Self.Action, IdentifiedAction<ID, ElementAction>>, @ReducerBuilder<ElementState, ElementAction> element: () -> Element, fileID: StaticString = #fileID, filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) -> some Reducer<Self.State, Self.Action> where ElementState == Element.State, ElementAction == Element.Action, ID : Hashable, ID : Sendable, Element : Reducer'
7 | public enum IdentifiedAction<ID: Hashable & Sendable, Action>: CasePathable {
8 |   /// An action sent to the element at a given identifier.
warning: '4ub6q' isn't a disambiguation for 'ifLet(_:action:destination:fileID:filePath:line:column:)' at '/ComposableArchitecture/Reducer'
  --> ../Reducer/Reducers/IfLetReducer.swift:43:77-43:83
41 |   ///     dialogs.
42 |   ///
43 +   /// See ``Reducer/ifLet(_:action:destination:fileID:filePath:line:column:)-4ub6q`` for a more advanced operator suited
   |                                                                             ├─suggestion: Replace '4ub6q' with '(_,AnyCasePath<Self.Action,PresentationAction<DestinationAction>>,_,_,_,_,_)' for '@warn_unqualified_access func ifLet<DestinationState, DestinationAction, Destination>(_ toPresentationState: WritableKeyPath<Self.State, PresentationState<DestinationState>>, action toPresentationAction: AnyCasePath<Self.Action, PresentationAction<DestinationAction>>, @ReducerBuilder<DestinationState, DestinationAction> destination: () -> Destination, fileID: StaticString = #fileID, filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) -> some Reducer<Self.State, Self.Action> where DestinationState == Destination.State, DestinationAction == Destination.Action, Destination : Reducer'
   |                                                                             ╰─suggestion: Replace '4ub6q' with '(_,CaseKeyPath<Self.Action,PresentationAction<DestinationAction>>,_,_,_,_,_)' for '@warn_unqualified_access func ifLet<DestinationState, DestinationAction, Destination>(_ toPresentationState: WritableKeyPath<Self.State, PresentationState<DestinationState>>, action toPresentationAction: CaseKeyPath<Self.Action, PresentationAction<DestinationAction>>, @ReducerBuilder<DestinationState, DestinationAction> destination: () -> Destination, fileID: StaticString = #fileID, filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) -> some Reducer<Self.State, Self.Action> where DestinationState == Destination.State, DestinationAction == Destination.Action, Destination : Reducer'
44 |   /// to navigation.
45 |   ///
warning: '4ub6q' isn't a disambiguation for 'ifLet(_:action:destination:fileID:filePath:line:column:)' at '/ComposableArchitecture/Reducer'
  --> ../Reducer/Reducers/IfLetReducer.swift:43:77-43:83
41 |   ///     dialogs.
42 |   ///
43 +   /// See ``Reducer/ifLet(_:action:destination:fileID:filePath:line:column:)-4ub6q`` for a more advanced operator suited
   |                                                                             ├─suggestion: Replace '4ub6q' with '(_,AnyCasePath<Self.Action,PresentationAction<DestinationAction>>,_,_,_,_,_)' for '@warn_unqualified_access func ifLet<DestinationState, DestinationAction, Destination>(_ toPresentationState: WritableKeyPath<Self.State, PresentationState<DestinationState>>, action toPresentationAction: AnyCasePath<Self.Action, PresentationAction<DestinationAction>>, @ReducerBuilder<DestinationState, DestinationAction> destination: () -> Destination, fileID: StaticString = #fileID, filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) -> some Reducer<Self.State, Self.Action> where DestinationState == Destination.State, DestinationAction == Destination.Action, Destination : Reducer'
   |                                                                             ╰─suggestion: Replace '4ub6q' with '(_,CaseKeyPath<Self.Action,PresentationAction<DestinationAction>>,_,_,_,_,_)' for '@warn_unqualified_access func ifLet<DestinationState, DestinationAction, Destination>(_ toPresentationState: WritableKeyPath<Self.State, PresentationState<DestinationState>>, action toPresentationAction: CaseKeyPath<Self.Action, PresentationAction<DestinationAction>>, @ReducerBuilder<DestinationState, DestinationAction> destination: () -> Destination, fileID: StaticString = #fileID, filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) -> some Reducer<Self.State, Self.Action> where DestinationState == Destination.State, DestinationAction == Destination.Action, Destination : Reducer'
44 |   /// to navigation.
45 |   ///
warning: '4ub6q' isn't a disambiguation for 'ifLet(_:action:destination:fileID:filePath:line:column:)' at '/ComposableArchitecture/Reducer'
  --> ../Reducer/Reducers/IfLetReducer.swift:43:77-43:83
41 |   ///     dialogs.
42 |   ///
43 +   /// See ``Reducer/ifLet(_:action:destination:fileID:filePath:line:column:)-4ub6q`` for a more advanced operator suited
   |                                                                             ├─suggestion: Replace '4ub6q' with '(_,AnyCasePath<Self.Action,PresentationAction<DestinationAction>>,_,_,_,_,_)' for '@warn_unqualified_access func ifLet<DestinationState, DestinationAction, Destination>(_ toPresentationState: WritableKeyPath<Self.State, PresentationState<DestinationState>>, action toPresentationAction: AnyCasePath<Self.Action, PresentationAction<DestinationAction>>, @ReducerBuilder<DestinationState, DestinationAction> destination: () -> Destination, fileID: StaticString = #fileID, filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) -> some Reducer<Self.State, Self.Action> where DestinationState == Destination.State, DestinationAction == Destination.Action, Destination : Reducer'
   |                                                                             ╰─suggestion: Replace '4ub6q' with '(_,CaseKeyPath<Self.Action,PresentationAction<DestinationAction>>,_,_,_,_,_)' for '@warn_unqualified_access func ifLet<DestinationState, DestinationAction, Destination>(_ toPresentationState: WritableKeyPath<Self.State, PresentationState<DestinationState>>, action toPresentationAction: CaseKeyPath<Self.Action, PresentationAction<DestinationAction>>, @ReducerBuilder<DestinationState, DestinationAction> destination: () -> Destination, fileID: StaticString = #fileID, filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) -> some Reducer<Self.State, Self.Action> where DestinationState == Destination.State, DestinationAction == Destination.Action, Destination : Reducer'
44 |   /// to navigation.
45 |   ///
warning: '4ub6q' isn't a disambiguation for 'ifLet(_:action:destination:fileID:filePath:line:column:)' at '/ComposableArchitecture/Reducer'
  --> ../Reducer/Reducers/IfLetReducer.swift:43:77-43:83
41 |   ///     dialogs.
42 |   ///
43 +   /// See ``Reducer/ifLet(_:action:destination:fileID:filePath:line:column:)-4ub6q`` for a more advanced operator suited
   |                                                                             ├─suggestion: Replace '4ub6q' with '(_,AnyCasePath<Self.Action,PresentationAction<DestinationAction>>,_,_,_,_,_)' for '@warn_unqualified_access func ifLet<DestinationState, DestinationAction, Destination>(_ toPresentationState: WritableKeyPath<Self.State, PresentationState<DestinationState>>, action toPresentationAction: AnyCasePath<Self.Action, PresentationAction<DestinationAction>>, @ReducerBuilder<DestinationState, DestinationAction> destination: () -> Destination, fileID: StaticString = #fileID, filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) -> some Reducer<Self.State, Self.Action> where DestinationState == Destination.State, DestinationAction == Destination.Action, Destination : Reducer'
   |                                                                             ╰─suggestion: Replace '4ub6q' with '(_,CaseKeyPath<Self.Action,PresentationAction<DestinationAction>>,_,_,_,_,_)' for '@warn_unqualified_access func ifLet<DestinationState, DestinationAction, Destination>(_ toPresentationState: WritableKeyPath<Self.State, PresentationState<DestinationState>>, action toPresentationAction: CaseKeyPath<Self.Action, PresentationAction<DestinationAction>>, @ReducerBuilder<DestinationState, DestinationAction> destination: () -> Destination, fileID: StaticString = #fileID, filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) -> some Reducer<Self.State, Self.Action> where DestinationState == Destination.State, DestinationAction == Destination.Action, Destination : Reducer'
44 |   /// to navigation.
45 |   ///
warning: '4ub6q' isn't a disambiguation for 'ifLet(_:action:destination:fileID:filePath:line:column:)' at '/ComposableArchitecture/Reducer'
  --> ../Reducer/Reducers/IfLetReducer.swift:43:77-43:83
41 |   ///     dialogs.
42 |   ///
43 +   /// See ``Reducer/ifLet(_:action:destination:fileID:filePath:line:column:)-4ub6q`` for a more advanced operator suited
   |                                                                             ├─suggestion: Replace '4ub6q' with '(_,AnyCasePath<Self.Action,PresentationAction<DestinationAction>>,_,_,_,_,_)' for '@warn_unqualified_access func ifLet<DestinationState, DestinationAction, Destination>(_ toPresentationState: WritableKeyPath<Self.State, PresentationState<DestinationState>>, action toPresentationAction: AnyCasePath<Self.Action, PresentationAction<DestinationAction>>, @ReducerBuilder<DestinationState, DestinationAction> destination: () -> Destination, fileID: StaticString = #fileID, filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) -> some Reducer<Self.State, Self.Action> where DestinationState == Destination.State, DestinationAction == Destination.Action, Destination : Reducer'
   |                                                                             ╰─suggestion: Replace '4ub6q' with '(_,CaseKeyPath<Self.Action,PresentationAction<DestinationAction>>,_,_,_,_,_)' for '@warn_unqualified_access func ifLet<DestinationState, DestinationAction, Destination>(_ toPresentationState: WritableKeyPath<Self.State, PresentationState<DestinationState>>, action toPresentationAction: CaseKeyPath<Self.Action, PresentationAction<DestinationAction>>, @ReducerBuilder<DestinationState, DestinationAction> destination: () -> Destination, fileID: StaticString = #fileID, filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) -> some Reducer<Self.State, Self.Action> where DestinationState == Destination.State, DestinationAction == Destination.Action, Destination : Reducer'
44 |   /// to navigation.
45 |   ///
warning: '4ub6q' isn't a disambiguation for 'ifLet(_:action:destination:fileID:filePath:line:column:)' at '/ComposableArchitecture/Reducer'
  --> ../Reducer/Reducers/IfLetReducer.swift:43:77-43:83
41 |   ///     dialogs.
42 |   ///
43 +   /// See ``Reducer/ifLet(_:action:destination:fileID:filePath:line:column:)-4ub6q`` for a more advanced operator suited
   |                                                                             ├─suggestion: Replace '4ub6q' with '(_,AnyCasePath<Self.Action,PresentationAction<DestinationAction>>,_,_,_,_,_)' for '@warn_unqualified_access func ifLet<DestinationState, DestinationAction, Destination>(_ toPresentationState: WritableKeyPath<Self.State, PresentationState<DestinationState>>, action toPresentationAction: AnyCasePath<Self.Action, PresentationAction<DestinationAction>>, @ReducerBuilder<DestinationState, DestinationAction> destination: () -> Destination, fileID: StaticString = #fileID, filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) -> some Reducer<Self.State, Self.Action> where DestinationState == Destination.State, DestinationAction == Destination.Action, Destination : Reducer'
   |                                                                             ╰─suggestion: Replace '4ub6q' with '(_,CaseKeyPath<Self.Action,PresentationAction<DestinationAction>>,_,_,_,_,_)' for '@warn_unqualified_access func ifLet<DestinationState, DestinationAction, Destination>(_ toPresentationState: WritableKeyPath<Self.State, PresentationState<DestinationState>>, action toPresentationAction: CaseKeyPath<Self.Action, PresentationAction<DestinationAction>>, @ReducerBuilder<DestinationState, DestinationAction> destination: () -> Destination, fileID: StaticString = #fileID, filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) -> some Reducer<Self.State, Self.Action> where DestinationState == Destination.State, DestinationAction == Destination.Action, Destination : Reducer'
44 |   /// to navigation.
45 |   ///
warning: '4ub6q' isn't a disambiguation for 'ifLet(_:action:destination:fileID:filePath:line:column:)' at '/ComposableArchitecture/Reducer'
  --> ../Reducer/Reducers/IfLetReducer.swift:43:77-43:83
41 |   ///     dialogs.
42 |   ///
43 +   /// See ``Reducer/ifLet(_:action:destination:fileID:filePath:line:column:)-4ub6q`` for a more advanced operator suited
   |                                                                             ├─suggestion: Replace '4ub6q' with '(_,AnyCasePath<Self.Action,PresentationAction<DestinationAction>>,_,_,_,_,_)' for '@warn_unqualified_access func ifLet<DestinationState, DestinationAction, Destination>(_ toPresentationState: WritableKeyPath<Self.State, PresentationState<DestinationState>>, action toPresentationAction: AnyCasePath<Self.Action, PresentationAction<DestinationAction>>, @ReducerBuilder<DestinationState, DestinationAction> destination: () -> Destination, fileID: StaticString = #fileID, filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) -> some Reducer<Self.State, Self.Action> where DestinationState == Destination.State, DestinationAction == Destination.Action, Destination : Reducer'
   |                                                                             ╰─suggestion: Replace '4ub6q' with '(_,CaseKeyPath<Self.Action,PresentationAction<DestinationAction>>,_,_,_,_,_)' for '@warn_unqualified_access func ifLet<DestinationState, DestinationAction, Destination>(_ toPresentationState: WritableKeyPath<Self.State, PresentationState<DestinationState>>, action toPresentationAction: CaseKeyPath<Self.Action, PresentationAction<DestinationAction>>, @ReducerBuilder<DestinationState, DestinationAction> destination: () -> Destination, fileID: StaticString = #fileID, filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) -> some Reducer<Self.State, Self.Action> where DestinationState == Destination.State, DestinationAction == Destination.Action, Destination : Reducer'
44 |   /// to navigation.
45 |   ///
warning: '2r2pn' isn't a disambiguation for 'ifLet(_:action:then:fileID:filePath:line:column:)' at '/ComposableArchitecture/Reducer'
  --> ../Reducer/Reducers/IfLetReducer.swift:80:88-80:94
78 |   }
79 |
80 +   /// A special overload of ``Reducer/ifLet(_:action:then:fileID:filePath:line:column:)-2r2pn``
   |                                                                                        ├─suggestion: Replace '2r2pn' with '(_,AnyCasePath<Self.Action,WrappedAction>,_,_,_,_,_)' for '@warn_unqualified_access func ifLet<WrappedState, WrappedAction, Wrapped>(_ toWrappedState: WritableKeyPath<Self.State, WrappedState?>, action toWrappedAction: AnyCasePath<Self.Action, WrappedAction>, @ReducerBuilder<WrappedState, WrappedAction> then wrapped: () -> Wrapped, fileID: StaticString = #fileID, filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) -> some Reducer<Self.State, Self.Action> where WrappedState == Wrapped.State, WrappedAction == Wrapped.Action, Wrapped : Reducer'
   |                                                                                        ╰─suggestion: Replace '2r2pn' with '(_,CaseKeyPath<Self.Action,WrappedAction>,_,_,_,_,_)' for '@warn_unqualified_access func ifLet<WrappedState, WrappedAction, Wrapped>(_ toWrappedState: WritableKeyPath<Self.State, WrappedState?>, action toWrappedAction: CaseKeyPath<Self.Action, WrappedAction>, @ReducerBuilder<WrappedState, WrappedAction> then wrapped: () -> Wrapped, fileID: StaticString = #fileID, filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) -> some Reducer<Self.State, Self.Action> where WrappedState == Wrapped.State, WrappedAction == Wrapped.Action, Wrapped : Reducer'
81 |   /// for alerts and confirmation dialogs that does not require a child reducer.
82 |   @inlinable
warning: '2r2pn' isn't a disambiguation for 'ifLet(_:action:then:fileID:filePath:line:column:)' at '/ComposableArchitecture/Reducer'
  --> ../Reducer/Reducers/IfLetReducer.swift:80:88-80:94
78 |   }
79 |
80 +   /// A special overload of ``Reducer/ifLet(_:action:then:fileID:filePath:line:column:)-2r2pn``
   |                                                                                        ├─suggestion: Replace '2r2pn' with '(_,AnyCasePath<Self.Action,WrappedAction>,_,_,_,_,_)' for '@warn_unqualified_access func ifLet<WrappedState, WrappedAction, Wrapped>(_ toWrappedState: WritableKeyPath<Self.State, WrappedState?>, action toWrappedAction: AnyCasePath<Self.Action, WrappedAction>, @ReducerBuilder<WrappedState, WrappedAction> then wrapped: () -> Wrapped, fileID: StaticString = #fileID, filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) -> some Reducer<Self.State, Self.Action> where WrappedState == Wrapped.State, WrappedAction == Wrapped.Action, Wrapped : Reducer'
   |                                                                                        ╰─suggestion: Replace '2r2pn' with '(_,CaseKeyPath<Self.Action,WrappedAction>,_,_,_,_,_)' for '@warn_unqualified_access func ifLet<WrappedState, WrappedAction, Wrapped>(_ toWrappedState: WritableKeyPath<Self.State, WrappedState?>, action toWrappedAction: CaseKeyPath<Self.Action, WrappedAction>, @ReducerBuilder<WrappedState, WrappedAction> then wrapped: () -> Wrapped, fileID: StaticString = #fileID, filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) -> some Reducer<Self.State, Self.Action> where WrappedState == Wrapped.State, WrappedAction == Wrapped.Action, Wrapped : Reducer'
81 |   /// for alerts and confirmation dialogs that does not require a child reducer.
82 |   @inlinable
warning: '2r2pn' isn't a disambiguation for 'ifLet(_:action:then:fileID:filePath:line:column:)' at '/ComposableArchitecture/Reducer'
  --> ../Reducer/Reducers/IfLetReducer.swift:80:88-80:94
78 |   }
79 |
80 +   /// A special overload of ``Reducer/ifLet(_:action:then:fileID:filePath:line:column:)-2r2pn``
   |                                                                                        ├─suggestion: Replace '2r2pn' with '(_,AnyCasePath<Self.Action,WrappedAction>,_,_,_,_,_)' for '@warn_unqualified_access func ifLet<WrappedState, WrappedAction, Wrapped>(_ toWrappedState: WritableKeyPath<Self.State, WrappedState?>, action toWrappedAction: AnyCasePath<Self.Action, WrappedAction>, @ReducerBuilder<WrappedState, WrappedAction> then wrapped: () -> Wrapped, fileID: StaticString = #fileID, filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) -> some Reducer<Self.State, Self.Action> where WrappedState == Wrapped.State, WrappedAction == Wrapped.Action, Wrapped : Reducer'
   |                                                                                        ╰─suggestion: Replace '2r2pn' with '(_,CaseKeyPath<Self.Action,WrappedAction>,_,_,_,_,_)' for '@warn_unqualified_access func ifLet<WrappedState, WrappedAction, Wrapped>(_ toWrappedState: WritableKeyPath<Self.State, WrappedState?>, action toWrappedAction: CaseKeyPath<Self.Action, WrappedAction>, @ReducerBuilder<WrappedState, WrappedAction> then wrapped: () -> Wrapped, fileID: StaticString = #fileID, filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) -> some Reducer<Self.State, Self.Action> where WrappedState == Wrapped.State, WrappedAction == Wrapped.Action, Wrapped : Reducer'
81 |   /// for alerts and confirmation dialogs that does not require a child reducer.
82 |   @inlinable
warning: '2r2pn' isn't a disambiguation for 'ifLet(_:action:then:fileID:filePath:line:column:)' at '/ComposableArchitecture/Reducer'
  --> ../Reducer/Reducers/IfLetReducer.swift:80:88-80:94
78 |   }
79 |
80 +   /// A special overload of ``Reducer/ifLet(_:action:then:fileID:filePath:line:column:)-2r2pn``
   |                                                                                        ├─suggestion: Replace '2r2pn' with '(_,AnyCasePath<Self.Action,WrappedAction>,_,_,_,_,_)' for '@warn_unqualified_access func ifLet<WrappedState, WrappedAction, Wrapped>(_ toWrappedState: WritableKeyPath<Self.State, WrappedState?>, action toWrappedAction: AnyCasePath<Self.Action, WrappedAction>, @ReducerBuilder<WrappedState, WrappedAction> then wrapped: () -> Wrapped, fileID: StaticString = #fileID, filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) -> some Reducer<Self.State, Self.Action> where WrappedState == Wrapped.State, WrappedAction == Wrapped.Action, Wrapped : Reducer'
   |                                                                                        ╰─suggestion: Replace '2r2pn' with '(_,CaseKeyPath<Self.Action,WrappedAction>,_,_,_,_,_)' for '@warn_unqualified_access func ifLet<WrappedState, WrappedAction, Wrapped>(_ toWrappedState: WritableKeyPath<Self.State, WrappedState?>, action toWrappedAction: CaseKeyPath<Self.Action, WrappedAction>, @ReducerBuilder<WrappedState, WrappedAction> then wrapped: () -> Wrapped, fileID: StaticString = #fileID, filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) -> some Reducer<Self.State, Self.Action> where WrappedState == Wrapped.State, WrappedAction == Wrapped.Action, Wrapped : Reducer'
81 |   /// for alerts and confirmation dialogs that does not require a child reducer.
82 |   @inlinable
warning: '2r2pn' isn't a disambiguation for 'ifLet(_:action:then:fileID:filePath:line:column:)' at '/ComposableArchitecture/Reducer'
  --> ../Reducer/Reducers/IfLetReducer.swift:80:88-80:94
78 |   }
79 |
80 +   /// A special overload of ``Reducer/ifLet(_:action:then:fileID:filePath:line:column:)-2r2pn``
   |                                                                                        ├─suggestion: Replace '2r2pn' with '(_,AnyCasePath<Self.Action,WrappedAction>,_,_,_,_,_)' for '@warn_unqualified_access func ifLet<WrappedState, WrappedAction, Wrapped>(_ toWrappedState: WritableKeyPath<Self.State, WrappedState?>, action toWrappedAction: AnyCasePath<Self.Action, WrappedAction>, @ReducerBuilder<WrappedState, WrappedAction> then wrapped: () -> Wrapped, fileID: StaticString = #fileID, filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) -> some Reducer<Self.State, Self.Action> where WrappedState == Wrapped.State, WrappedAction == Wrapped.Action, Wrapped : Reducer'
   |                                                                                        ╰─suggestion: Replace '2r2pn' with '(_,CaseKeyPath<Self.Action,WrappedAction>,_,_,_,_,_)' for '@warn_unqualified_access func ifLet<WrappedState, WrappedAction, Wrapped>(_ toWrappedState: WritableKeyPath<Self.State, WrappedState?>, action toWrappedAction: CaseKeyPath<Self.Action, WrappedAction>, @ReducerBuilder<WrappedState, WrappedAction> then wrapped: () -> Wrapped, fileID: StaticString = #fileID, filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) -> some Reducer<Self.State, Self.Action> where WrappedState == Wrapped.State, WrappedAction == Wrapped.Action, Wrapped : Reducer'
81 |   /// for alerts and confirmation dialogs that does not require a child reducer.
82 |   @inlinable
warning: '2r2pn' isn't a disambiguation for 'ifLet(_:action:then:fileID:filePath:line:column:)' at '/ComposableArchitecture/Reducer'
  --> ../Reducer/Reducers/IfLetReducer.swift:80:88-80:94
78 |   }
79 |
80 +   /// A special overload of ``Reducer/ifLet(_:action:then:fileID:filePath:line:column:)-2r2pn``
   |                                                                                        ├─suggestion: Replace '2r2pn' with '(_,AnyCasePath<Self.Action,WrappedAction>,_,_,_,_,_)' for '@warn_unqualified_access func ifLet<WrappedState, WrappedAction, Wrapped>(_ toWrappedState: WritableKeyPath<Self.State, WrappedState?>, action toWrappedAction: AnyCasePath<Self.Action, WrappedAction>, @ReducerBuilder<WrappedState, WrappedAction> then wrapped: () -> Wrapped, fileID: StaticString = #fileID, filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) -> some Reducer<Self.State, Self.Action> where WrappedState == Wrapped.State, WrappedAction == Wrapped.Action, Wrapped : Reducer'
   |                                                                                        ╰─suggestion: Replace '2r2pn' with '(_,CaseKeyPath<Self.Action,WrappedAction>,_,_,_,_,_)' for '@warn_unqualified_access func ifLet<WrappedState, WrappedAction, Wrapped>(_ toWrappedState: WritableKeyPath<Self.State, WrappedState?>, action toWrappedAction: CaseKeyPath<Self.Action, WrappedAction>, @ReducerBuilder<WrappedState, WrappedAction> then wrapped: () -> Wrapped, fileID: StaticString = #fileID, filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) -> some Reducer<Self.State, Self.Action> where WrappedState == Wrapped.State, WrappedAction == Wrapped.Action, Wrapped : Reducer'
81 |   /// for alerts and confirmation dialogs that does not require a child reducer.
82 |   @inlinable
warning: '2r2pn' isn't a disambiguation for 'ifLet(_:action:then:fileID:filePath:line:column:)' at '/ComposableArchitecture/Reducer'
  --> ../Reducer/Reducers/IfLetReducer.swift:80:88-80:94
78 |   }
79 |
80 +   /// A special overload of ``Reducer/ifLet(_:action:then:fileID:filePath:line:column:)-2r2pn``
   |                                                                                        ├─suggestion: Replace '2r2pn' with '(_,AnyCasePath<Self.Action,WrappedAction>,_,_,_,_,_)' for '@warn_unqualified_access func ifLet<WrappedState, WrappedAction, Wrapped>(_ toWrappedState: WritableKeyPath<Self.State, WrappedState?>, action toWrappedAction: AnyCasePath<Self.Action, WrappedAction>, @ReducerBuilder<WrappedState, WrappedAction> then wrapped: () -> Wrapped, fileID: StaticString = #fileID, filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) -> some Reducer<Self.State, Self.Action> where WrappedState == Wrapped.State, WrappedAction == Wrapped.Action, Wrapped : Reducer'
   |                                                                                        ╰─suggestion: Replace '2r2pn' with '(_,CaseKeyPath<Self.Action,WrappedAction>,_,_,_,_,_)' for '@warn_unqualified_access func ifLet<WrappedState, WrappedAction, Wrapped>(_ toWrappedState: WritableKeyPath<Self.State, WrappedState?>, action toWrappedAction: CaseKeyPath<Self.Action, WrappedAction>, @ReducerBuilder<WrappedState, WrappedAction> then wrapped: () -> Wrapped, fileID: StaticString = #fileID, filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) -> some Reducer<Self.State, Self.Action> where WrappedState == Wrapped.State, WrappedAction == Wrapped.Action, Wrapped : Reducer'
81 |   /// for alerts and confirmation dialogs that does not require a child reducer.
82 |   @inlinable
warning: '4ub6q' isn't a disambiguation for 'ifLet(_:action:destination:fileID:filePath:line:column:)' at '/ComposableArchitecture/Reducer'
 --> ../Reducer/Reducers/PresentationReducer.swift:7:77-7:83
5 | ///
6 | /// Use this property wrapper for modeling a feature's domain that needs to present a child feature
7 + /// using ``Reducer/ifLet(_:action:destination:fileID:filePath:line:column:)-4ub6q``.
  |                                                                             ├─suggestion: Replace '4ub6q' with '(_,AnyCasePath<Self.Action,PresentationAction<DestinationAction>>,_,_,_,_,_)' for '@warn_unqualified_access func ifLet<DestinationState, DestinationAction, Destination>(_ toPresentationState: WritableKeyPath<Self.State, PresentationState<DestinationState>>, action toPresentationAction: AnyCasePath<Self.Action, PresentationAction<DestinationAction>>, @ReducerBuilder<DestinationState, DestinationAction> destination: () -> Destination, fileID: StaticString = #fileID, filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) -> some Reducer<Self.State, Self.Action> where DestinationState == Destination.State, DestinationAction == Destination.Action, Destination : Reducer'
  |                                                                             ╰─suggestion: Replace '4ub6q' with '(_,CaseKeyPath<Self.Action,PresentationAction<DestinationAction>>,_,_,_,_,_)' for '@warn_unqualified_access func ifLet<DestinationState, DestinationAction, Destination>(_ toPresentationState: WritableKeyPath<Self.State, PresentationState<DestinationState>>, action toPresentationAction: CaseKeyPath<Self.Action, PresentationAction<DestinationAction>>, @ReducerBuilder<DestinationState, DestinationAction> destination: () -> Destination, fileID: StaticString = #fileID, filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) -> some Reducer<Self.State, Self.Action> where DestinationState == Destination.State, DestinationAction == Destination.Action, Destination : Reducer'
8 | ///
9 | /// For example, if you have a `ChildFeature` reducer that encapsulates the logic and behavior for a
warning: '4ub6q' isn't a disambiguation for 'ifLet(_:action:destination:fileID:filePath:line:column:)' at '/ComposableArchitecture/Reducer'
  --> ../Reducer/Reducers/PresentationReducer.swift:26:95-26:101
24 | /// For the most part your feature's logic can deal with `child` as a plain optional value, but
25 | /// there are times you need to know that you are secretly dealing with `PresentationState`. For
26 + /// example, when using the ``Reducer/ifLet(_:action:destination:fileID:filePath:line:column:)-4ub6q`` reducer operator to
   |                                                                                               ├─suggestion: Replace '4ub6q' with '(_,AnyCasePath<Self.Action,PresentationAction<DestinationAction>>,_,_,_,_,_)' for '@warn_unqualified_access func ifLet<DestinationState, DestinationAction, Destination>(_ toPresentationState: WritableKeyPath<Self.State, PresentationState<DestinationState>>, action toPresentationAction: AnyCasePath<Self.Action, PresentationAction<DestinationAction>>, @ReducerBuilder<DestinationState, DestinationAction> destination: () -> Destination, fileID: StaticString = #fileID, filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) -> some Reducer<Self.State, Self.Action> where DestinationState == Destination.State, DestinationAction == Destination.Action, Destination : Reducer'
   |                                                                                               ╰─suggestion: Replace '4ub6q' with '(_,CaseKeyPath<Self.Action,PresentationAction<DestinationAction>>,_,_,_,_,_)' for '@warn_unqualified_access func ifLet<DestinationState, DestinationAction, Destination>(_ toPresentationState: WritableKeyPath<Self.State, PresentationState<DestinationState>>, action toPresentationAction: CaseKeyPath<Self.Action, PresentationAction<DestinationAction>>, @ReducerBuilder<DestinationState, DestinationAction> destination: () -> Destination, fileID: StaticString = #fileID, filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) -> some Reducer<Self.State, Self.Action> where DestinationState == Destination.State, DestinationAction == Destination.Action, Destination : Reducer'
27 | /// integrate the parent and child features together, you will construct a key path to the projected
28 | /// value `\.$child`:
warning: '4ub6q' isn't a disambiguation for 'ifLet(_:action:destination:fileID:filePath:line:column:)' at '/ComposableArchitecture/Reducer'
   --> ../Reducer/Reducers/PresentationReducer.swift:234:85-234:91
232 | ///
233 | /// Use this wrapper type for modeling a feature's domain that needs to present a child
234 + /// feature using ``Reducer/ifLet(_:action:destination:fileID:filePath:line:column:)-4ub6q``.
    |                                                                                     ├─suggestion: Replace '4ub6q' with '(_,AnyCasePath<Self.Action,PresentationAction<DestinationAction>>,_,_,_,_,_)' for '@warn_unqualified_access func ifLet<DestinationState, DestinationAction, Destination>(_ toPresentationState: WritableKeyPath<Self.State, PresentationState<DestinationState>>, action toPresentationAction: AnyCasePath<Self.Action, PresentationAction<DestinationAction>>, @ReducerBuilder<DestinationState, DestinationAction> destination: () -> Destination, fileID: StaticString = #fileID, filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) -> some Reducer<Self.State, Self.Action> where DestinationState == Destination.State, DestinationAction == Destination.Action, Destination : Reducer'
    |                                                                                     ╰─suggestion: Replace '4ub6q' with '(_,CaseKeyPath<Self.Action,PresentationAction<DestinationAction>>,_,_,_,_,_)' for '@warn_unqualified_access func ifLet<DestinationState, DestinationAction, Destination>(_ toPresentationState: WritableKeyPath<Self.State, PresentationState<DestinationState>>, action toPresentationAction: CaseKeyPath<Self.Action, PresentationAction<DestinationAction>>, @ReducerBuilder<DestinationState, DestinationAction> destination: () -> Destination, fileID: StaticString = #fileID, filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) -> some Reducer<Self.State, Self.Action> where DestinationState == Destination.State, DestinationAction == Destination.Action, Destination : Reducer'
235 | ///
236 | /// For example, if you have a `ChildFeature` reducer that encapsulates the logic and behavior
warning: '4ub6q' isn't a disambiguation for 'ifLet(_:action:destination:fileID:filePath:line:column:)' at '/ComposableArchitecture/Reducer'
   --> ../Reducer/Reducers/PresentationReducer.swift:433:95-433:101
431 |   }
432 |
433 +   /// A special overload of ``Reducer/ifLet(_:action:destination:fileID:filePath:line:column:)-4ub6q`` for alerts
    |                                                                                               ├─suggestion: Replace '4ub6q' with '(_,AnyCasePath<Self.Action,PresentationAction<DestinationAction>>,_,_,_,_,_)' for '@warn_unqualified_access func ifLet<DestinationState, DestinationAction, Destination>(_ toPresentationState: WritableKeyPath<Self.State, PresentationState<DestinationState>>, action toPresentationAction: AnyCasePath<Self.Action, PresentationAction<DestinationAction>>, @ReducerBuilder<DestinationState, DestinationAction> destination: () -> Destination, fileID: StaticString = #fileID, filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) -> some Reducer<Self.State, Self.Action> where DestinationState == Destination.State, DestinationAction == Destination.Action, Destination : Reducer'
    |                                                                                               ╰─suggestion: Replace '4ub6q' with '(_,CaseKeyPath<Self.Action,PresentationAction<DestinationAction>>,_,_,_,_,_)' for '@warn_unqualified_access func ifLet<DestinationState, DestinationAction, Destination>(_ toPresentationState: WritableKeyPath<Self.State, PresentationState<DestinationState>>, action toPresentationAction: CaseKeyPath<Self.Action, PresentationAction<DestinationAction>>, @ReducerBuilder<DestinationState, DestinationAction> destination: () -> Destination, fileID: StaticString = #fileID, filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) -> some Reducer<Self.State, Self.Action> where DestinationState == Destination.State, DestinationAction == Destination.Action, Destination : Reducer'
434 |   /// and confirmation dialogs that does not require a child reducer.
435 |   @warn_unqualified_access
warning: '4ub6q' isn't a disambiguation for 'ifLet(_:action:destination:fileID:filePath:line:column:)' at '/ComposableArchitecture/Reducer'
   --> ../Reducer/Reducers/PresentationReducer.swift:433:95-433:101
431 |   }
432 |
433 +   /// A special overload of ``Reducer/ifLet(_:action:destination:fileID:filePath:line:column:)-4ub6q`` for alerts
    |                                                                                               ├─suggestion: Replace '4ub6q' with '(_,AnyCasePath<Self.Action,PresentationAction<DestinationAction>>,_,_,_,_,_)' for '@warn_unqualified_access func ifLet<DestinationState, DestinationAction, Destination>(_ toPresentationState: WritableKeyPath<Self.State, PresentationState<DestinationState>>, action toPresentationAction: AnyCasePath<Self.Action, PresentationAction<DestinationAction>>, @ReducerBuilder<DestinationState, DestinationAction> destination: () -> Destination, fileID: StaticString = #fileID, filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) -> some Reducer<Self.State, Self.Action> where DestinationState == Destination.State, DestinationAction == Destination.Action, Destination : Reducer'
    |                                                                                               ╰─suggestion: Replace '4ub6q' with '(_,CaseKeyPath<Self.Action,PresentationAction<DestinationAction>>,_,_,_,_,_)' for '@warn_unqualified_access func ifLet<DestinationState, DestinationAction, Destination>(_ toPresentationState: WritableKeyPath<Self.State, PresentationState<DestinationState>>, action toPresentationAction: CaseKeyPath<Self.Action, PresentationAction<DestinationAction>>, @ReducerBuilder<DestinationState, DestinationAction> destination: () -> Destination, fileID: StaticString = #fileID, filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) -> some Reducer<Self.State, Self.Action> where DestinationState == Destination.State, DestinationAction == Destination.Action, Destination : Reducer'
434 |   /// and confirmation dialogs that does not require a child reducer.
435 |   @warn_unqualified_access
warning: '4ub6q' isn't a disambiguation for 'ifLet(_:action:destination:fileID:filePath:line:column:)' at '/ComposableArchitecture/Reducer'
   --> ../Reducer/Reducers/PresentationReducer.swift:433:95-433:101
431 |   }
432 |
433 +   /// A special overload of ``Reducer/ifLet(_:action:destination:fileID:filePath:line:column:)-4ub6q`` for alerts
    |                                                                                               ├─suggestion: Replace '4ub6q' with '(_,AnyCasePath<Self.Action,PresentationAction<DestinationAction>>,_,_,_,_,_)' for '@warn_unqualified_access func ifLet<DestinationState, DestinationAction, Destination>(_ toPresentationState: WritableKeyPath<Self.State, PresentationState<DestinationState>>, action toPresentationAction: AnyCasePath<Self.Action, PresentationAction<DestinationAction>>, @ReducerBuilder<DestinationState, DestinationAction> destination: () -> Destination, fileID: StaticString = #fileID, filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) -> some Reducer<Self.State, Self.Action> where DestinationState == Destination.State, DestinationAction == Destination.Action, Destination : Reducer'
    |                                                                                               ╰─suggestion: Replace '4ub6q' with '(_,CaseKeyPath<Self.Action,PresentationAction<DestinationAction>>,_,_,_,_,_)' for '@warn_unqualified_access func ifLet<DestinationState, DestinationAction, Destination>(_ toPresentationState: WritableKeyPath<Self.State, PresentationState<DestinationState>>, action toPresentationAction: CaseKeyPath<Self.Action, PresentationAction<DestinationAction>>, @ReducerBuilder<DestinationState, DestinationAction> destination: () -> Destination, fileID: StaticString = #fileID, filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) -> some Reducer<Self.State, Self.Action> where DestinationState == Destination.State, DestinationAction == Destination.Action, Destination : Reducer'
434 |   /// and confirmation dialogs that does not require a child reducer.
435 |   @warn_unqualified_access
warning: '4ub6q' isn't a disambiguation for 'ifLet(_:action:destination:fileID:filePath:line:column:)' at '/ComposableArchitecture/Reducer'
   --> ../Reducer/Reducers/PresentationReducer.swift:433:95-433:101
431 |   }
432 |
433 +   /// A special overload of ``Reducer/ifLet(_:action:destination:fileID:filePath:line:column:)-4ub6q`` for alerts
    |                                                                                               ├─suggestion: Replace '4ub6q' with '(_,AnyCasePath<Self.Action,PresentationAction<DestinationAction>>,_,_,_,_,_)' for '@warn_unqualified_access func ifLet<DestinationState, DestinationAction, Destination>(_ toPresentationState: WritableKeyPath<Self.State, PresentationState<DestinationState>>, action toPresentationAction: AnyCasePath<Self.Action, PresentationAction<DestinationAction>>, @ReducerBuilder<DestinationState, DestinationAction> destination: () -> Destination, fileID: StaticString = #fileID, filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) -> some Reducer<Self.State, Self.Action> where DestinationState == Destination.State, DestinationAction == Destination.Action, Destination : Reducer'
    |                                                                                               ╰─suggestion: Replace '4ub6q' with '(_,CaseKeyPath<Self.Action,PresentationAction<DestinationAction>>,_,_,_,_,_)' for '@warn_unqualified_access func ifLet<DestinationState, DestinationAction, Destination>(_ toPresentationState: WritableKeyPath<Self.State, PresentationState<DestinationState>>, action toPresentationAction: CaseKeyPath<Self.Action, PresentationAction<DestinationAction>>, @ReducerBuilder<DestinationState, DestinationAction> destination: () -> Destination, fileID: StaticString = #fileID, filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) -> some Reducer<Self.State, Self.Action> where DestinationState == Destination.State, DestinationAction == Destination.Action, Destination : Reducer'
434 |   /// and confirmation dialogs that does not require a child reducer.
435 |   @warn_unqualified_access
warning: '4ub6q' isn't a disambiguation for 'ifLet(_:action:destination:fileID:filePath:line:column:)' at '/ComposableArchitecture/Reducer'
   --> ../Reducer/Reducers/PresentationReducer.swift:433:95-433:101
431 |   }
432 |
433 +   /// A special overload of ``Reducer/ifLet(_:action:destination:fileID:filePath:line:column:)-4ub6q`` for alerts
    |                                                                                               ├─suggestion: Replace '4ub6q' with '(_,AnyCasePath<Self.Action,PresentationAction<DestinationAction>>,_,_,_,_,_)' for '@warn_unqualified_access func ifLet<DestinationState, DestinationAction, Destination>(_ toPresentationState: WritableKeyPath<Self.State, PresentationState<DestinationState>>, action toPresentationAction: AnyCasePath<Self.Action, PresentationAction<DestinationAction>>, @ReducerBuilder<DestinationState, DestinationAction> destination: () -> Destination, fileID: StaticString = #fileID, filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) -> some Reducer<Self.State, Self.Action> where DestinationState == Destination.State, DestinationAction == Destination.Action, Destination : Reducer'
    |                                                                                               ╰─suggestion: Replace '4ub6q' with '(_,CaseKeyPath<Self.Action,PresentationAction<DestinationAction>>,_,_,_,_,_)' for '@warn_unqualified_access func ifLet<DestinationState, DestinationAction, Destination>(_ toPresentationState: WritableKeyPath<Self.State, PresentationState<DestinationState>>, action toPresentationAction: CaseKeyPath<Self.Action, PresentationAction<DestinationAction>>, @ReducerBuilder<DestinationState, DestinationAction> destination: () -> Destination, fileID: StaticString = #fileID, filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) -> some Reducer<Self.State, Self.Action> where DestinationState == Destination.State, DestinationAction == Destination.Action, Destination : Reducer'
434 |   /// and confirmation dialogs that does not require a child reducer.
435 |   @warn_unqualified_access
warning: '4ub6q' isn't a disambiguation for 'ifLet(_:action:destination:fileID:filePath:line:column:)' at '/ComposableArchitecture/Reducer'
   --> ../Reducer/Reducers/PresentationReducer.swift:433:95-433:101
431 |   }
432 |
433 +   /// A special overload of ``Reducer/ifLet(_:action:destination:fileID:filePath:line:column:)-4ub6q`` for alerts
    |                                                                                               ├─suggestion: Replace '4ub6q' with '(_,AnyCasePath<Self.Action,PresentationAction<DestinationAction>>,_,_,_,_,_)' for '@warn_unqualified_access func ifLet<DestinationState, DestinationAction, Destination>(_ toPresentationState: WritableKeyPath<Self.State, PresentationState<DestinationState>>, action toPresentationAction: AnyCasePath<Self.Action, PresentationAction<DestinationAction>>, @ReducerBuilder<DestinationState, DestinationAction> destination: () -> Destination, fileID: StaticString = #fileID, filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) -> some Reducer<Self.State, Self.Action> where DestinationState == Destination.State, DestinationAction == Destination.Action, Destination : Reducer'
    |                                                                                               ╰─suggestion: Replace '4ub6q' with '(_,CaseKeyPath<Self.Action,PresentationAction<DestinationAction>>,_,_,_,_,_)' for '@warn_unqualified_access func ifLet<DestinationState, DestinationAction, Destination>(_ toPresentationState: WritableKeyPath<Self.State, PresentationState<DestinationState>>, action toPresentationAction: CaseKeyPath<Self.Action, PresentationAction<DestinationAction>>, @ReducerBuilder<DestinationState, DestinationAction> destination: () -> Destination, fileID: StaticString = #fileID, filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) -> some Reducer<Self.State, Self.Action> where DestinationState == Destination.State, DestinationAction == Destination.Action, Destination : Reducer'
434 |   /// and confirmation dialogs that does not require a child reducer.
435 |   @warn_unqualified_access
warning: '4ub6q' isn't a disambiguation for 'ifLet(_:action:destination:fileID:filePath:line:column:)' at '/ComposableArchitecture/Reducer'
   --> ../Reducer/Reducers/PresentationReducer.swift:433:95-433:101
431 |   }
432 |
433 +   /// A special overload of ``Reducer/ifLet(_:action:destination:fileID:filePath:line:column:)-4ub6q`` for alerts
    |                                                                                               ├─suggestion: Replace '4ub6q' with '(_,AnyCasePath<Self.Action,PresentationAction<DestinationAction>>,_,_,_,_,_)' for '@warn_unqualified_access func ifLet<DestinationState, DestinationAction, Destination>(_ toPresentationState: WritableKeyPath<Self.State, PresentationState<DestinationState>>, action toPresentationAction: AnyCasePath<Self.Action, PresentationAction<DestinationAction>>, @ReducerBuilder<DestinationState, DestinationAction> destination: () -> Destination, fileID: StaticString = #fileID, filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) -> some Reducer<Self.State, Self.Action> where DestinationState == Destination.State, DestinationAction == Destination.Action, Destination : Reducer'
    |                                                                                               ╰─suggestion: Replace '4ub6q' with '(_,CaseKeyPath<Self.Action,PresentationAction<DestinationAction>>,_,_,_,_,_)' for '@warn_unqualified_access func ifLet<DestinationState, DestinationAction, Destination>(_ toPresentationState: WritableKeyPath<Self.State, PresentationState<DestinationState>>, action toPresentationAction: CaseKeyPath<Self.Action, PresentationAction<DestinationAction>>, @ReducerBuilder<DestinationState, DestinationAction> destination: () -> Destination, fileID: StaticString = #fileID, filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) -> some Reducer<Self.State, Self.Action> where DestinationState == Destination.State, DestinationAction == Destination.Action, Destination : Reducer'
434 |   /// and confirmation dialogs that does not require a child reducer.
435 |   @warn_unqualified_access
warning: '88vdx' isn't a disambiguation for 'init(state:action:child:)' at '/ComposableArchitecture/Scope'
  --> ../Reducer/Reducers/Scope.swift:33:32-33:38
31 | ///
32 | /// A parent reducer with a domain that holds onto the child domain can use
33 + /// ``init(state:action:child:)-88vdx`` to embed the child reducer in its
   |                                ├─suggestion: Replace '88vdx' with '(_,AnyCasePath<ParentAction,ChildAction>,_)' for 'init<ChildState, ChildAction>(state toChildState: WritableKeyPath<ParentState, ChildState>, action toChildAction: AnyCasePath<ParentAction, ChildAction>, @ReducerBuilder<ChildState, ChildAction> child: () -> Child) where ChildState == Child.State, ChildAction == Child.Action'
   |                                ╰─suggestion: Replace '88vdx' with '(_,CaseKeyPath<ParentAction,ChildAction>,_)' for 'init<ChildState, ChildAction>(state toChildState: WritableKeyPath<ParentState, ChildState>, action toChildAction: CaseKeyPath<ParentAction, ChildAction>, @ReducerBuilder<ChildState, ChildAction> child: () -> Child) where ChildState == Child.State, ChildAction == Child.Action'
34 | /// ``Reducer/body-swift.property``:
35 | ///
warning: '9g44g' isn't a disambiguation for 'init(state:action:child:fileID:filePath:line:column:)' at '/ComposableArchitecture/Scope'
  --> ../Reducer/Reducers/Scope.swift:63:77-63:83
61 | ///
62 | /// The ``Scope`` reducer also works when state is modeled as an enum, not just a struct. In that
63 + /// case you can use ``init(state:action:child:fileID:filePath:line:column:)-9g44g`` to specify a
   |                                                                             ├─suggestion: Replace '9g44g' with '(AnyCasePath<ParentState,ChildState>,_,_,_,_,_,_)' for 'init<ChildState, ChildAction>(state toChildState: AnyCasePath<ParentState, ChildState>, action toChildAction: AnyCasePath<ParentAction, ChildAction>, @ReducerBuilder<ChildState, ChildAction> child: () -> Child, fileID: StaticString = #fileID, filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) where ChildState == Child.State, ChildAction == Child.Action'
   |                                                                             ╰─suggestion: Replace '9g44g' with '(CaseKeyPath<ParentState,ChildState>,_,_,_,_,_,_)' for 'init<ChildState, ChildAction>(state toChildState: CaseKeyPath<ParentState, ChildState>, action toChildAction: CaseKeyPath<ParentAction, ChildAction>, @ReducerBuilder<ChildState, ChildAction> child: () -> Child, fileID: StaticString = #fileID, filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) where ChildState == Child.State, ChildAction == Child.Action'
64 | /// case path that identifies the case of state you want to scope to.
65 | ///
warning: 'rdrb' isn't a disambiguation for 'ifCaseLet(_:action:then:fileID:filePath:line:column:)' at '/ComposableArchitecture/Scope'
   --> ../Reducer/Reducers/Scope.swift:100:64-100:69
98  | ///
99  | /// For an alternative to using ``Scope`` with state case paths that enforces the order, check out
100 + /// the ``ifCaseLet(_:action:then:fileID:filePath:line:column:)-rdrb`` operator.
    |                                                                ├─suggestion: Replace '-rdrb' with '->Reducer<Self.State,Self.Action>' for '@warn_unqualified_access func ifCaseLet<CaseState, CaseAction, Case>(_ toCaseState: AnyCasePath<Self.State, CaseState>, action toCaseAction: AnyCasePath<Self.Action, CaseAction>, @ReducerBuilder<CaseState, CaseAction> then case: () -> Case, fileID: StaticString = #fileID, filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) -> some Reducer<Self.State, Self.Action> where CaseState == Case.State, CaseAction == Case.Action, Case : Reducer'
    |                                                                ╰─suggestion: Replace '-rdrb' with '->_IfCaseLetReducer<Self,Case>' for '@warn_unqualified_access func ifCaseLet<CaseState, CaseAction, Case>(_ toCaseState: CaseKeyPath<Self.State, CaseState>, action toCaseAction: CaseKeyPath<Self.Action, CaseAction>, @ReducerBuilder<CaseState, CaseAction> then case: () -> Case, fileID: StaticString = #fileID, filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) -> _IfCaseLetReducer<Self, Case> where CaseState == Case.State, CaseAction == Case.Action, Case : Reducer, Self.Action : CasePathable, Self.State : CasePathable'
101 | public struct Scope<ParentState, ParentAction, Child: Reducer>: Reducer {
102 |   @usableFromInline
warning: '7sg8d' isn't a disambiguation for 'ifCaseLet(_:action:then:fileID:filePath:line:column:)' at '/ComposableArchitecture/Reducer'
   --> ../Reducer/Reducers/Scope.swift:207:79-207:85
205 |   /// >
206 |   /// > If the parent domain contains additional logic for switching between cases of child state,
207 +   /// > prefer ``Reducer/ifCaseLet(_:action:then:fileID:filePath:line:column:)-7sg8d``, which better ensures that
    |                                                                               ├─suggestion: Replace '-7sg8d' with '->Reducer<Self.State,Self.Action>' for '@warn_unqualified_access func ifCaseLet<CaseState, CaseAction, Case>(_ toCaseState: AnyCasePath<Self.State, CaseState>, action toCaseAction: AnyCasePath<Self.Action, CaseAction>, @ReducerBuilder<CaseState, CaseAction> then case: () -> Case, fileID: StaticString = #fileID, filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) -> some Reducer<Self.State, Self.Action> where CaseState == Case.State, CaseAction == Case.Action, Case : Reducer'
    |                                                                               ╰─suggestion: Replace '-7sg8d' with '->_IfCaseLetReducer<Self,Case>' for '@warn_unqualified_access func ifCaseLet<CaseState, CaseAction, Case>(_ toCaseState: CaseKeyPath<Self.State, CaseState>, action toCaseAction: CaseKeyPath<Self.Action, CaseAction>, @ReducerBuilder<CaseState, CaseAction> then case: () -> Case, fileID: StaticString = #fileID, filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) -> _IfCaseLetReducer<Self, Case> where CaseState == Case.State, CaseAction == Case.Action, Case : Reducer, Self.Action : CasePathable, Self.State : CasePathable'
208 |   /// > child logic runs _before_ any parent logic can replace child state:
209 |   /// >
warning: '9svqb' isn't a disambiguation for 'forEach(_:action:destination:fileID:filePath:line:column:)' at '/ComposableArchitecture/Reducer'
  --> ../Reducer/Reducers/StackReducer.swift:9:73-9:79
7  | ///
8  | /// Use this type for modeling a feature's domain that needs to present child features using
9  + /// ``Reducer/forEach(_:action:destination:fileID:filePath:line:column:)-9svqb``.
   |                                                                         ├─suggestion: Replace '9svqb' with '(_,AnyCasePath<Self.Action,StackAction<DestinationState,DestinationAction>>,_,_,_,_,_)' for '@warn_unqualified_access func forEach<DestinationState, DestinationAction, Destination>(_ toStackState: WritableKeyPath<Self.State, StackState<DestinationState>>, action toStackAction: AnyCasePath<Self.Action, StackAction<DestinationState, DestinationAction>>, @ReducerBuilder<DestinationState, DestinationAction> destination: () -> Destination, fileID: StaticString = #fileID, filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) -> some Reducer<Self.State, Self.Action> where DestinationState == Destination.State, DestinationAction == Destination.Action, Destination : Reducer'
   |                                                                         ╰─suggestion: Replace '9svqb' with '(_,CaseKeyPath<Self.Action,StackAction<DestinationState,DestinationAction>>,_,_,_,_,_)' for '@warn_unqualified_access func forEach<DestinationState, DestinationAction, Destination>(_ toStackState: WritableKeyPath<Self.State, StackState<DestinationState>>, action toStackAction: CaseKeyPath<Self.Action, StackAction<DestinationState, DestinationAction>>, @ReducerBuilder<DestinationState, DestinationAction> destination: () -> Destination, fileID: StaticString = #fileID, filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) -> some Reducer<Self.State, Self.Action> where DestinationState == Destination.State, DestinationAction == Destination.Action, Destination : Reducer'
10 | ///
11 | /// See the dedicated article on <doc:Navigation> for more information on the library's navigation
warning: '9svqb' isn't a disambiguation for 'forEach(_:action:destination:fileID:filePath:line:column:)' at '/ComposableArchitecture/Reducer'
   --> ../Reducer/Reducers/StackReducer.swift:246:73-246:79
244 | ///
245 | /// Use this type for modeling a feature's domain that needs to present child features using
246 + /// ``Reducer/forEach(_:action:destination:fileID:filePath:line:column:)-9svqb``.
    |                                                                         ├─suggestion: Replace '9svqb' with '(_,AnyCasePath<Self.Action,StackAction<DestinationState,DestinationAction>>,_,_,_,_,_)' for '@warn_unqualified_access func forEach<DestinationState, DestinationAction, Destination>(_ toStackState: WritableKeyPath<Self.State, StackState<DestinationState>>, action toStackAction: AnyCasePath<Self.Action, StackAction<DestinationState, DestinationAction>>, @ReducerBuilder<DestinationState, DestinationAction> destination: () -> Destination, fileID: StaticString = #fileID, filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) -> some Reducer<Self.State, Self.Action> where DestinationState == Destination.State, DestinationAction == Destination.Action, Destination : Reducer'
    |                                                                         ╰─suggestion: Replace '9svqb' with '(_,CaseKeyPath<Self.Action,StackAction<DestinationState,DestinationAction>>,_,_,_,_,_)' for '@warn_unqualified_access func forEach<DestinationState, DestinationAction, Destination>(_ toStackState: WritableKeyPath<Self.State, StackState<DestinationState>>, action toStackAction: CaseKeyPath<Self.Action, StackAction<DestinationState, DestinationAction>>, @ReducerBuilder<DestinationState, DestinationAction> destination: () -> Destination, fileID: StaticString = #fileID, filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) -> some Reducer<Self.State, Self.Action> where DestinationState == Destination.State, DestinationAction == Destination.Action, Destination : Reducer'
247 | ///
248 | /// See the dedicated article on <doc:Navigation> for more information on the library's navigation
warning: '90255' isn't a disambiguation for 'scope(state:action:)' at '/ComposableArchitecture/Store'
  --> ../Store.swift:26:47-26:53
24 | /// ```
25 | ///
26 + /// …and then use the ``scope(state:action:)-90255`` method to derive more focused stores that can be
   |                                               ├─suggestion: Replace '90255' with '((State)->ChildState,_)' for '@MainActor func scope<ChildState, ChildAction>(state toChildState: @escaping (State) -> ChildState, action fromChildAction: @escaping (ChildAction) -> Action) -> Store<ChildState, ChildAction>'
   |                                               ╰─suggestion: Replace '90255' with '(KeyPath<State,ChildState>,_)' for '@MainActor func scope<ChildState, ChildAction>(state: KeyPath<State, ChildState>, action: CaseKeyPath<Action, ChildAction>) -> Store<ChildState, ChildAction>'
27 | /// passed to subviews.
28 | ///
warning: '90255' isn't a disambiguation for 'scope(state:action:)' at '/ComposableArchitecture/Store'
  --> ../Store.swift:31:84-31:90
29 | /// ### Scoping
30 | ///
31 + /// The most important operation defined on ``Store`` is the ``scope(state:action:)-90255`` method,
   |                                                                                    ├─suggestion: Replace '90255' with '((State)->ChildState,_)' for '@MainActor func scope<ChildState, ChildAction>(state toChildState: @escaping (State) -> ChildState, action fromChildAction: @escaping (ChildAction) -> Action) -> Store<ChildState, ChildAction>'
   |                                                                                    ╰─suggestion: Replace '90255' with '(KeyPath<State,ChildState>,_)' for '@MainActor func scope<ChildState, ChildAction>(state: KeyPath<State, ChildState>, action: CaseKeyPath<Action, ChildAction>) -> Store<ChildState, ChildAction>'
32 | /// which allows you to transform a store into one that deals with child state and actions. This is
33 | /// necessary for passing stores to subviews that only care about a small portion of the entire
warning: '90255' isn't a disambiguation for 'scope(state:action:)' at '/ComposableArchitecture/Store'
  --> ../Store.swift:58:89-58:95
56 | /// ```
57 | ///
58 + /// We can construct a view for each of these domains by applying ``scope(state:action:)-90255`` to
   |                                                                                         ├─suggestion: Replace '90255' with '((State)->ChildState,_)' for '@MainActor func scope<ChildState, ChildAction>(state toChildState: @escaping (State) -> ChildState, action fromChildAction: @escaping (ChildAction) -> Action) -> Store<ChildState, ChildAction>'
   |                                                                                         ╰─suggestion: Replace '90255' with '(KeyPath<State,ChildState>,_)' for '@MainActor func scope<ChildState, ChildAction>(state: KeyPath<State, ChildState>, action: CaseKeyPath<Action, ChildAction>) -> Store<ChildState, ChildAction>'
59 | /// a store that holds onto the full app domain in order to transform it into a store for each
60 | /// subdomain:
warning: '4ub6q' isn't a disambiguation for 'ifLet(_:action:destination:fileID:filePath:line:column:)' at '/ComposableArchitecture/Reducer'
  --> ../SwiftUI/Deprecated/NavigationLinkStore.swift:11:98-11:104
9  | /// Typically you use this view by first modeling your features as having a parent feature that
10 | /// holds onto an optional piece of child state using the ``PresentationState``,
11 + /// ``PresentationAction`` and ``Reducer/ifLet(_:action:destination:fileID:filePath:line:column:)-4ub6q`` tools (see
   |                                                                                                  ├─suggestion: Replace '4ub6q' with '(_,AnyCasePath<Self.Action,PresentationAction<DestinationAction>>,_,_,_,_,_)' for '@warn_unqualified_access func ifLet<DestinationState, DestinationAction, Destination>(_ toPresentationState: WritableKeyPath<Self.State, PresentationState<DestinationState>>, action toPresentationAction: AnyCasePath<Self.Action, PresentationAction<DestinationAction>>, @ReducerBuilder<DestinationState, DestinationAction> destination: () -> Destination, fileID: StaticString = #fileID, filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) -> some Reducer<Self.State, Self.Action> where DestinationState == Destination.State, DestinationAction == Destination.Action, Destination : Reducer'
   |                                                                                                  ╰─suggestion: Replace '4ub6q' with '(_,CaseKeyPath<Self.Action,PresentationAction<DestinationAction>>,_,_,_,_,_)' for '@warn_unqualified_access func ifLet<DestinationState, DestinationAction, Destination>(_ toPresentationState: WritableKeyPath<Self.State, PresentationState<DestinationState>>, action toPresentationAction: CaseKeyPath<Self.Action, PresentationAction<DestinationAction>>, @ReducerBuilder<DestinationState, DestinationAction> destination: () -> Destination, fileID: StaticString = #fileID, filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) -> some Reducer<Self.State, Self.Action> where DestinationState == Destination.State, DestinationAction == Destination.Action, Destination : Reducer'
12 | /// <doc:TreeBasedNavigation> for more information). Then in the view you can construct a
13 | /// `NavigationLinkStore` by passing a ``Store`` that is focused on the presentation domain:
warning: '6zye8' isn't a disambiguation for 'forEach(_:action:element:fileID:filePath:line:column:)' at '/ComposableArchitecture/Reducer'
  --> ../SwiftUI/ForEachStore.swift:64:69-64:75
62 | ///
63 | /// Enhance its core reducer using
64 + /// ``Reducer/forEach(_:action:element:fileID:filePath:line:column:)-6zye8``:
   |                                                                     ├─suggestion: Replace '6zye8' with '(_,AnyCasePath<Self.Action,(ID,ElementAction)>,_,_,_,_,_)' for '@warn_unqualified_access func forEach<ElementState, ElementAction, ID, Element>(_ toElementsState: WritableKeyPath<Self.State, IdentifiedArray<ID, ElementState>>, action toElementAction: AnyCasePath<Self.Action, (ID, ElementAction)>, @ReducerBuilder<ElementState, ElementAction> element: () -> Element, fileID: StaticString = #fileID, filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) -> some Reducer<Self.State, Self.Action> where ElementState == Element.State, ElementAction == Element.Action, ID : Hashable, ID : Sendable, Element : Reducer'
   |                                                                     ╰─suggestion: Replace '6zye8' with '(_,CaseKeyPath<Self.Action,IdentifiedAction<ID,ElementAction>>,_,_,_,_,_)' for '@warn_unqualified_access func forEach<ElementState, ElementAction, ID, Element>(_ toElementsState: WritableKeyPath<Self.State, IdentifiedArray<ID, ElementState>>, action toElementAction: CaseKeyPath<Self.Action, IdentifiedAction<ID, ElementAction>>, @ReducerBuilder<ElementState, ElementAction> element: () -> Element, fileID: StaticString = #fileID, filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) -> some Reducer<Self.State, Self.Action> where ElementState == Element.State, ElementAction == Element.Action, ID : Hashable, ID : Sendable, Element : Reducer'
65 | ///
66 | /// ```swift
warning: '7sg8d' isn't a disambiguation for 'ifCaseLet(_:action:then:fileID:filePath:line:column:)' at '/ComposableArchitecture/Reducer'
  --> ../SwiftUI/SwitchStore.swift:53:72-53:78
51 | /// > current case, _e.g._ by switching on it and routing to an appropriate `CaseLet`.
52 | ///
53 + /// See ``Reducer/ifCaseLet(_:action:then:fileID:filePath:line:column:)-7sg8d`` and
   |                                                                        ├─suggestion: Replace '-7sg8d' with '->Reducer<Self.State,Self.Action>' for '@warn_unqualified_access func ifCaseLet<CaseState, CaseAction, Case>(_ toCaseState: AnyCasePath<Self.State, CaseState>, action toCaseAction: AnyCasePath<Self.Action, CaseAction>, @ReducerBuilder<CaseState, CaseAction> then case: () -> Case, fileID: StaticString = #fileID, filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) -> some Reducer<Self.State, Self.Action> where CaseState == Case.State, CaseAction == Case.Action, Case : Reducer'
   |                                                                        ╰─suggestion: Replace '-7sg8d' with '->_IfCaseLetReducer<Self,Case>' for '@warn_unqualified_access func ifCaseLet<CaseState, CaseAction, Case>(_ toCaseState: CaseKeyPath<Self.State, CaseState>, action toCaseAction: CaseKeyPath<Self.Action, CaseAction>, @ReducerBuilder<CaseState, CaseAction> then case: () -> Case, fileID: StaticString = #fileID, filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) -> _IfCaseLetReducer<Self, Case> where CaseState == Case.State, CaseAction == Case.Action, Case : Reducer, Self.Action : CasePathable, Self.State : CasePathable'
54 | /// ``Scope/init(state:action:child:fileID:filePath:line:column:)-9g44g`` for embedding reducers
55 | /// that operate on each case of an enum in reducers that operate on the entire enum.
warning: '9g44g' isn't a disambiguation for 'init(state:action:child:fileID:filePath:line:column:)' at '/ComposableArchitecture/Scope'
  --> ../SwiftUI/SwitchStore.swift:54:66-54:72
52 | ///
53 | /// See ``Reducer/ifCaseLet(_:action:then:fileID:filePath:line:column:)-7sg8d`` and
54 + /// ``Scope/init(state:action:child:fileID:filePath:line:column:)-9g44g`` for embedding reducers
   |                                                                  ├─suggestion: Replace '9g44g' with '(AnyCasePath<ParentState,ChildState>,_,_,_,_,_,_)' for 'init<ChildState, ChildAction>(state toChildState: AnyCasePath<ParentState, ChildState>, action toChildAction: AnyCasePath<ParentAction, ChildAction>, @ReducerBuilder<ChildState, ChildAction> child: () -> Child, fileID: StaticString = #fileID, filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) where ChildState == Child.State, ChildAction == Child.Action'
   |                                                                  ╰─suggestion: Replace '9g44g' with '(CaseKeyPath<ParentState,ChildState>,_,_,_,_,_,_)' for 'init<ChildState, ChildAction>(state toChildState: CaseKeyPath<ParentState, ChildState>, action toChildAction: CaseKeyPath<ParentAction, ChildAction>, @ReducerBuilder<ChildState, ChildAction> child: () -> Child, fileID: StaticString = #fileID, filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) where ChildState == Child.State, ChildAction == Child.Action'
55 | /// that operate on each case of an enum in reducers that operate on the entire enum.
56 | @available(
warning: '8f2pl' isn't a disambiguation for 'send(_:assert:fileID:file:line:column:)' at '/ComposableArchitecture/TestStore'
   --> ../TestStore.swift:267:75-267:81
265 | /// to ``Exhaustivity/off``. When that is done the ``TestStore``'s behavior changes:
266 | ///
267 + ///   * The trailing closures of ``send(_:assert:fileID:file:line:column:)-8f2pl`` and
    |                                                                           ├─suggestion: Replace '8f2pl' with '(Action,_,_,_,_,_)' for '@discardableResult @MainActor func send(_ action: Action, assert updateStateToExpectedResult: ((inout State) throws -> Void)? = nil, fileID: StaticString = #fileID, file filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) async -> TestStoreTask'
    |                                                                           ╰─suggestion: Replace '8f2pl' with '(CaseKeyPath<Action,Void>,_,_,_,_,_)' for '@discardableResult @MainActor func send(_ action: CaseKeyPath<Action, Void>, assert updateStateToExpectedResult: ((inout State) throws -> Void)? = nil, fileID: StaticString = #fileID, file filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) async -> TestStoreTask'
268 | ///     ``receive(_:timeout:assert:fileID:file:line:column:)-8zqxk`` no longer need to assert on all
269 | ///     state changes. They can assert on any subset of changes, and only if they make an incorrect
warning: '8zqxk' isn't a disambiguation for 'receive(_:timeout:assert:fileID:file:line:column:)' at '/ComposableArchitecture/TestStore'
   --> ../TestStore.swift:268:61-268:67
266 | ///
267 | ///   * The trailing closures of ``send(_:assert:fileID:file:line:column:)-8f2pl`` and
268 + ///     ``receive(_:timeout:assert:fileID:file:line:column:)-8zqxk`` no longer need to assert on all
    |                                                             ├─suggestion: Replace '8zqxk' with '(Action,Duration,_,_,_,_,_)' for '@MainActor func receive(_ expectedAction: Action, timeout duration: Duration, assert updateStateToExpectedResult: ((inout State) throws -> Void)? = nil, fileID: StaticString = #fileID, file filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) async'
    |                                                             ├─suggestion: Replace '8zqxk' with '(Action,UInt64?,_,_,_,_,_)' for '@MainActor func receive(_ expectedAction: Action, timeout nanoseconds: UInt64? = nil, assert updateStateToExpectedResult: ((inout State) throws -> Void)? = nil, fileID: StaticString = #fileID, file filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) async'
    |                                                             ├─suggestion: Replace '8zqxk' with '((Action)->Bool,Duration,_,_,_,_,_)' for '@MainActor func receive(_ isMatching: (Action) -> Bool, timeout duration: Duration, assert updateStateToExpectedResult: ((inout State) throws -> Void)? = nil, fileID: StaticString = #fileID, file filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) async'
    |                                                             ├─suggestion: Replace '8zqxk' with '((Action)->Bool,UInt64?,_,_,_,_,_)' for '@MainActor func receive(_ isMatching: (Action) -> Bool, timeout nanoseconds: UInt64? = nil, assert updateStateToExpectedResult: ((inout State) throws -> Void)? = nil, fileID: StaticString = #fileID, file filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) async'
    |                                                             ├─suggestion: Replace '8zqxk' with '(AnyCasePath<Action,Value>,Duration,_,_,_,_,_)' for '@MainActor func receive<Value>(_ actionCase: AnyCasePath<Action, Value>, timeout duration: Duration, assert updateStateToExpectedResult: ((inout State) throws -> Void)? = nil, fileID: StaticString = #fileID, file filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) async'
    |                                                             ├─suggestion: Replace '8zqxk' with '(AnyCasePath<Action,Value>,UInt64?,_,_,_,_,_)' for '@MainActor func receive<Value>(_ actionCase: AnyCasePath<Action, Value>, timeout nanoseconds: UInt64? = nil, assert updateStateToExpectedResult: ((inout State) throws -> Void)? = nil, fileID: StaticString = #fileID, file filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) async'
    |                                                             ├─suggestion: Replace '8zqxk' with '(CaseKeyPath<Action,Value>,Duration,_,_,_,_,_)' for '@MainActor func receive<Value>(_ actionCase: CaseKeyPath<Action, Value>, timeout duration: Duration, assert updateStateToExpectedResult: ((inout State) throws -> Void)? = nil, fileID: StaticString = #fileID, file filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) async'
    |                                                             ╰─suggestion: Replace '8zqxk' with '(CaseKeyPath<Action,Value>,UInt64?,_,_,_,_,_)' for '@MainActor func receive<Value>(_ actionCase: CaseKeyPath<Action, Value>, timeout nanoseconds: UInt64? = nil, assert updateStateToExpectedResult: ((inout State) throws -> Void)? = nil, fileID: StaticString = #fileID, file filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) async'
269 | ///     state changes. They can assert on any subset of changes, and only if they make an incorrect
270 | ///     mutation will a test failure be reported.
warning: '8f2pl' isn't a disambiguation for 'send(_:assert:fileID:file:line:column:)' at '/ComposableArchitecture/TestStore'
   --> ../TestStore.swift:271:54-271:60
269 | ///     state changes. They can assert on any subset of changes, and only if they make an incorrect
270 | ///     mutation will a test failure be reported.
271 + ///   * The ``send(_:assert:fileID:file:line:column:)-8f2pl`` and
    |                                                      ├─suggestion: Replace '8f2pl' with '(Action,_,_,_,_,_)' for '@discardableResult @MainActor func send(_ action: Action, assert updateStateToExpectedResult: ((inout State) throws -> Void)? = nil, fileID: StaticString = #fileID, file filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) async -> TestStoreTask'
    |                                                      ╰─suggestion: Replace '8f2pl' with '(CaseKeyPath<Action,Void>,_,_,_,_,_)' for '@discardableResult @MainActor func send(_ action: CaseKeyPath<Action, Void>, assert updateStateToExpectedResult: ((inout State) throws -> Void)? = nil, fileID: StaticString = #fileID, file filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) async -> TestStoreTask'
272 | ///     ``receive(_:timeout:assert:fileID:file:line:column:)-8zqxk`` methods are allowed to be
273 | ///     called even when actions have been received from effects that have not been asserted on yet.
warning: '8zqxk' isn't a disambiguation for 'receive(_:timeout:assert:fileID:file:line:column:)' at '/ComposableArchitecture/TestStore'
   --> ../TestStore.swift:272:61-272:67
270 | ///     mutation will a test failure be reported.
271 | ///   * The ``send(_:assert:fileID:file:line:column:)-8f2pl`` and
272 + ///     ``receive(_:timeout:assert:fileID:file:line:column:)-8zqxk`` methods are allowed to be
    |                                                             ├─suggestion: Replace '8zqxk' with '(Action,Duration,_,_,_,_,_)' for '@MainActor func receive(_ expectedAction: Action, timeout duration: Duration, assert updateStateToExpectedResult: ((inout State) throws -> Void)? = nil, fileID: StaticString = #fileID, file filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) async'
    |                                                             ├─suggestion: Replace '8zqxk' with '(Action,UInt64?,_,_,_,_,_)' for '@MainActor func receive(_ expectedAction: Action, timeout nanoseconds: UInt64? = nil, assert updateStateToExpectedResult: ((inout State) throws -> Void)? = nil, fileID: StaticString = #fileID, file filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) async'
    |                                                             ├─suggestion: Replace '8zqxk' with '((Action)->Bool,Duration,_,_,_,_,_)' for '@MainActor func receive(_ isMatching: (Action) -> Bool, timeout duration: Duration, assert updateStateToExpectedResult: ((inout State) throws -> Void)? = nil, fileID: StaticString = #fileID, file filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) async'
    |                                                             ├─suggestion: Replace '8zqxk' with '((Action)->Bool,UInt64?,_,_,_,_,_)' for '@MainActor func receive(_ isMatching: (Action) -> Bool, timeout nanoseconds: UInt64? = nil, assert updateStateToExpectedResult: ((inout State) throws -> Void)? = nil, fileID: StaticString = #fileID, file filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) async'
    |                                                             ├─suggestion: Replace '8zqxk' with '(AnyCasePath<Action,Value>,Duration,_,_,_,_,_)' for '@MainActor func receive<Value>(_ actionCase: AnyCasePath<Action, Value>, timeout duration: Duration, assert updateStateToExpectedResult: ((inout State) throws -> Void)? = nil, fileID: StaticString = #fileID, file filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) async'
    |                                                             ├─suggestion: Replace '8zqxk' with '(AnyCasePath<Action,Value>,UInt64?,_,_,_,_,_)' for '@MainActor func receive<Value>(_ actionCase: AnyCasePath<Action, Value>, timeout nanoseconds: UInt64? = nil, assert updateStateToExpectedResult: ((inout State) throws -> Void)? = nil, fileID: StaticString = #fileID, file filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) async'
    |                                                             ├─suggestion: Replace '8zqxk' with '(CaseKeyPath<Action,Value>,Duration,_,_,_,_,_)' for '@MainActor func receive<Value>(_ actionCase: CaseKeyPath<Action, Value>, timeout duration: Duration, assert updateStateToExpectedResult: ((inout State) throws -> Void)? = nil, fileID: StaticString = #fileID, file filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) async'
    |                                                             ╰─suggestion: Replace '8zqxk' with '(CaseKeyPath<Action,Value>,UInt64?,_,_,_,_,_)' for '@MainActor func receive<Value>(_ actionCase: CaseKeyPath<Action, Value>, timeout nanoseconds: UInt64? = nil, assert updateStateToExpectedResult: ((inout State) throws -> Void)? = nil, fileID: StaticString = #fileID, file filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) async'
273 | ///     called even when actions have been received from effects that have not been asserted on yet.
274 | ///     Any pending actions will be cleared.
warning: '8f2pl' isn't a disambiguation for 'send(_:assert:fileID:file:line:column:)' at '/ComposableArchitecture/TestStore'
   --> ../TestStore.swift:486:48-486:54
484 |   ///
485 |   /// When read from a trailing closure assertion in
486 +   /// ``send(_:assert:fileID:file:line:column:)-8f2pl`` or
    |                                                ├─suggestion: Replace '8f2pl' with '(Action,_,_,_,_,_)' for '@discardableResult @MainActor func send(_ action: Action, assert updateStateToExpectedResult: ((inout State) throws -> Void)? = nil, fileID: StaticString = #fileID, file filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) async -> TestStoreTask'
    |                                                ╰─suggestion: Replace '8f2pl' with '(CaseKeyPath<Action,Void>,_,_,_,_,_)' for '@discardableResult @MainActor func send(_ action: CaseKeyPath<Action, Void>, assert updateStateToExpectedResult: ((inout State) throws -> Void)? = nil, fileID: StaticString = #fileID, file filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) async -> TestStoreTask'
487 |   /// ``receive(_:timeout:assert:fileID:file:line:column:)-8zqxk``, it will equal the `inout` state
488 |   /// passed to the
warning: '8zqxk' isn't a disambiguation for 'receive(_:timeout:assert:fileID:file:line:column:)' at '/ComposableArchitecture/TestStore'
   --> ../TestStore.swift:487:59-487:65
485 |   /// When read from a trailing closure assertion in
486 |   /// ``send(_:assert:fileID:file:line:column:)-8f2pl`` or
487 +   /// ``receive(_:timeout:assert:fileID:file:line:column:)-8zqxk``, it will equal the `inout` state
    |                                                           ├─suggestion: Replace '8zqxk' with '(Action,Duration,_,_,_,_,_)' for '@MainActor func receive(_ expectedAction: Action, timeout duration: Duration, assert updateStateToExpectedResult: ((inout State) throws -> Void)? = nil, fileID: StaticString = #fileID, file filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) async'
    |                                                           ├─suggestion: Replace '8zqxk' with '(Action,UInt64?,_,_,_,_,_)' for '@MainActor func receive(_ expectedAction: Action, timeout nanoseconds: UInt64? = nil, assert updateStateToExpectedResult: ((inout State) throws -> Void)? = nil, fileID: StaticString = #fileID, file filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) async'
    |                                                           ├─suggestion: Replace '8zqxk' with '((Action)->Bool,Duration,_,_,_,_,_)' for '@MainActor func receive(_ isMatching: (Action) -> Bool, timeout duration: Duration, assert updateStateToExpectedResult: ((inout State) throws -> Void)? = nil, fileID: StaticString = #fileID, file filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) async'
    |                                                           ├─suggestion: Replace '8zqxk' with '((Action)->Bool,UInt64?,_,_,_,_,_)' for '@MainActor func receive(_ isMatching: (Action) -> Bool, timeout nanoseconds: UInt64? = nil, assert updateStateToExpectedResult: ((inout State) throws -> Void)? = nil, fileID: StaticString = #fileID, file filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) async'
    |                                                           ├─suggestion: Replace '8zqxk' with '(AnyCasePath<Action,Value>,Duration,_,_,_,_,_)' for '@MainActor func receive<Value>(_ actionCase: AnyCasePath<Action, Value>, timeout duration: Duration, assert updateStateToExpectedResult: ((inout State) throws -> Void)? = nil, fileID: StaticString = #fileID, file filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) async'
    |                                                           ├─suggestion: Replace '8zqxk' with '(AnyCasePath<Action,Value>,UInt64?,_,_,_,_,_)' for '@MainActor func receive<Value>(_ actionCase: AnyCasePath<Action, Value>, timeout nanoseconds: UInt64? = nil, assert updateStateToExpectedResult: ((inout State) throws -> Void)? = nil, fileID: StaticString = #fileID, file filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) async'
    |                                                           ├─suggestion: Replace '8zqxk' with '(CaseKeyPath<Action,Value>,Duration,_,_,_,_,_)' for '@MainActor func receive<Value>(_ actionCase: CaseKeyPath<Action, Value>, timeout duration: Duration, assert updateStateToExpectedResult: ((inout State) throws -> Void)? = nil, fileID: StaticString = #fileID, file filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) async'
    |                                                           ╰─suggestion: Replace '8zqxk' with '(CaseKeyPath<Action,Value>,UInt64?,_,_,_,_,_)' for '@MainActor func receive<Value>(_ actionCase: CaseKeyPath<Action, Value>, timeout nanoseconds: UInt64? = nil, assert updateStateToExpectedResult: ((inout State) throws -> Void)? = nil, fileID: StaticString = #fileID, file filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) async'
488 |   /// passed to the
489 |   /// closure.
warning: '8zqxk' isn't a disambiguation for 'receive(_:timeout:assert:fileID:file:line:column:)' at '/ComposableArchitecture/TestStore'
   --> ../TestStore.swift:497:59-497:65
495 |   ///
496 |   /// This is the default timeout used in all methods that take an optional timeout, such as
497 +   /// ``receive(_:timeout:assert:fileID:file:line:column:)-8zqxk`` and
    |                                                           ├─suggestion: Replace '8zqxk' with '(Action,Duration,_,_,_,_,_)' for '@MainActor func receive(_ expectedAction: Action, timeout duration: Duration, assert updateStateToExpectedResult: ((inout State) throws -> Void)? = nil, fileID: StaticString = #fileID, file filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) async'
    |                                                           ├─suggestion: Replace '8zqxk' with '(Action,UInt64?,_,_,_,_,_)' for '@MainActor func receive(_ expectedAction: Action, timeout nanoseconds: UInt64? = nil, assert updateStateToExpectedResult: ((inout State) throws -> Void)? = nil, fileID: StaticString = #fileID, file filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) async'
    |                                                           ├─suggestion: Replace '8zqxk' with '((Action)->Bool,Duration,_,_,_,_,_)' for '@MainActor func receive(_ isMatching: (Action) -> Bool, timeout duration: Duration, assert updateStateToExpectedResult: ((inout State) throws -> Void)? = nil, fileID: StaticString = #fileID, file filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) async'
    |                                                           ├─suggestion: Replace '8zqxk' with '((Action)->Bool,UInt64?,_,_,_,_,_)' for '@MainActor func receive(_ isMatching: (Action) -> Bool, timeout nanoseconds: UInt64? = nil, assert updateStateToExpectedResult: ((inout State) throws -> Void)? = nil, fileID: StaticString = #fileID, file filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) async'
    |                                                           ├─suggestion: Replace '8zqxk' with '(AnyCasePath<Action,Value>,Duration,_,_,_,_,_)' for '@MainActor func receive<Value>(_ actionCase: AnyCasePath<Action, Value>, timeout duration: Duration, assert updateStateToExpectedResult: ((inout State) throws -> Void)? = nil, fileID: StaticString = #fileID, file filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) async'
    |                                                           ├─suggestion: Replace '8zqxk' with '(AnyCasePath<Action,Value>,UInt64?,_,_,_,_,_)' for '@MainActor func receive<Value>(_ actionCase: AnyCasePath<Action, Value>, timeout nanoseconds: UInt64? = nil, assert updateStateToExpectedResult: ((inout State) throws -> Void)? = nil, fileID: StaticString = #fileID, file filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) async'
    |                                                           ├─suggestion: Replace '8zqxk' with '(CaseKeyPath<Action,Value>,Duration,_,_,_,_,_)' for '@MainActor func receive<Value>(_ actionCase: CaseKeyPath<Action, Value>, timeout duration: Duration, assert updateStateToExpectedResult: ((inout State) throws -> Void)? = nil, fileID: StaticString = #fileID, file filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) async'
    |                                                           ╰─suggestion: Replace '8zqxk' with '(CaseKeyPath<Action,Value>,UInt64?,_,_,_,_,_)' for '@MainActor func receive<Value>(_ actionCase: CaseKeyPath<Action, Value>, timeout nanoseconds: UInt64? = nil, assert updateStateToExpectedResult: ((inout State) throws -> Void)? = nil, fileID: StaticString = #fileID, file filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) async'
498 |   /// ``finish(timeout:fileID:file:line:column:)-klnc``.
499 |   public var timeout: UInt64
warning: '8zqxk' isn't a disambiguation for 'receive(_:timeout:assert:fileID:file:line:column:)' at '/ComposableArchitecture/TestStore'
    --> ../TestStore.swift:1544:85-1544:91
1542 |   /// state changes.
1543 |   ///
1544 +   /// This method is similar to ``receive(_:timeout:assert:fileID:file:line:column:)-8zqxk``, except
     |                                                                                     ├─suggestion: Replace '8zqxk' with '(Action,Duration,_,_,_,_,_)' for '@MainActor func receive(_ expectedAction: Action, timeout duration: Duration, assert updateStateToExpectedResult: ((inout State) throws -> Void)? = nil, fileID: StaticString = #fileID, file filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) async'
     |                                                                                     ├─suggestion: Replace '8zqxk' with '(Action,UInt64?,_,_,_,_,_)' for '@MainActor func receive(_ expectedAction: Action, timeout nanoseconds: UInt64? = nil, assert updateStateToExpectedResult: ((inout State) throws -> Void)? = nil, fileID: StaticString = #fileID, file filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) async'
     |                                                                                     ├─suggestion: Replace '8zqxk' with '((Action)->Bool,Duration,_,_,_,_,_)' for '@MainActor func receive(_ isMatching: (Action) -> Bool, timeout duration: Duration, assert updateStateToExpectedResult: ((inout State) throws -> Void)? = nil, fileID: StaticString = #fileID, file filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) async'
     |                                                                                     ├─suggestion: Replace '8zqxk' with '((Action)->Bool,UInt64?,_,_,_,_,_)' for '@MainActor func receive(_ isMatching: (Action) -> Bool, timeout nanoseconds: UInt64? = nil, assert updateStateToExpectedResult: ((inout State) throws -> Void)? = nil, fileID: StaticString = #fileID, file filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) async'
     |                                                                                     ├─suggestion: Replace '8zqxk' with '(AnyCasePath<Action,Value>,Duration,_,_,_,_,_)' for '@MainActor func receive<Value>(_ actionCase: AnyCasePath<Action, Value>, timeout duration: Duration, assert updateStateToExpectedResult: ((inout State) throws -> Void)? = nil, fileID: StaticString = #fileID, file filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) async'
     |                                                                                     ├─suggestion: Replace '8zqxk' with '(AnyCasePath<Action,Value>,UInt64?,_,_,_,_,_)' for '@MainActor func receive<Value>(_ actionCase: AnyCasePath<Action, Value>, timeout nanoseconds: UInt64? = nil, assert updateStateToExpectedResult: ((inout State) throws -> Void)? = nil, fileID: StaticString = #fileID, file filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) async'
     |                                                                                     ├─suggestion: Replace '8zqxk' with '(CaseKeyPath<Action,Value>,Duration,_,_,_,_,_)' for '@MainActor func receive<Value>(_ actionCase: CaseKeyPath<Action, Value>, timeout duration: Duration, assert updateStateToExpectedResult: ((inout State) throws -> Void)? = nil, fileID: StaticString = #fileID, file filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) async'
     |                                                                                     ╰─suggestion: Replace '8zqxk' with '(CaseKeyPath<Action,Value>,UInt64?,_,_,_,_,_)' for '@MainActor func receive<Value>(_ actionCase: CaseKeyPath<Action, Value>, timeout nanoseconds: UInt64? = nil, assert updateStateToExpectedResult: ((inout State) throws -> Void)? = nil, fileID: StaticString = #fileID, file filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) async'
1545 |   /// it allows you to assert that an action was received that matches a predicate instead of a case
1546 |   /// key path:
warning: '53wic' isn't a disambiguation for 'receive(_:timeout:assert:fileID:file:line:column:)' at '/ComposableArchitecture/TestStore'
    --> ../TestStore.swift:1563:59-1563:65
1561 |   ///
1562 |   /// If you only want to check that a particular action case was received, then you might find the
1563 +   /// ``receive(_:timeout:assert:fileID:file:line:column:)-53wic`` overload of this method more
     |                                                           ├─suggestion: Replace '53wic' with '(Action,Duration,_,_,_,_,_)' for '@MainActor func receive(_ expectedAction: Action, timeout duration: Duration, assert updateStateToExpectedResult: ((inout State) throws -> Void)? = nil, fileID: StaticString = #fileID, file filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) async'
     |                                                           ├─suggestion: Replace '53wic' with '(Action,UInt64?,_,_,_,_,_)' for '@MainActor func receive(_ expectedAction: Action, timeout nanoseconds: UInt64? = nil, assert updateStateToExpectedResult: ((inout State) throws -> Void)? = nil, fileID: StaticString = #fileID, file filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) async'
     |                                                           ├─suggestion: Replace '53wic' with '((Action)->Bool,Duration,_,_,_,_,_)' for '@MainActor func receive(_ isMatching: (Action) -> Bool, timeout duration: Duration, assert updateStateToExpectedResult: ((inout State) throws -> Void)? = nil, fileID: StaticString = #fileID, file filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) async'
     |                                                           ├─suggestion: Replace '53wic' with '((Action)->Bool,UInt64?,_,_,_,_,_)' for '@MainActor func receive(_ isMatching: (Action) -> Bool, timeout nanoseconds: UInt64? = nil, assert updateStateToExpectedResult: ((inout State) throws -> Void)? = nil, fileID: StaticString = #fileID, file filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) async'
     |                                                           ├─suggestion: Replace '53wic' with '(AnyCasePath<Action,Value>,Duration,_,_,_,_,_)' for '@MainActor func receive<Value>(_ actionCase: AnyCasePath<Action, Value>, timeout duration: Duration, assert updateStateToExpectedResult: ((inout State) throws -> Void)? = nil, fileID: StaticString = #fileID, file filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) async'
     |                                                           ├─suggestion: Replace '53wic' with '(AnyCasePath<Action,Value>,UInt64?,_,_,_,_,_)' for '@MainActor func receive<Value>(_ actionCase: AnyCasePath<Action, Value>, timeout nanoseconds: UInt64? = nil, assert updateStateToExpectedResult: ((inout State) throws -> Void)? = nil, fileID: StaticString = #fileID, file filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) async'
     |                                                           ├─suggestion: Replace '53wic' with '(CaseKeyPath<Action,Value>,Duration,_,_,_,_,_)' for '@MainActor func receive<Value>(_ actionCase: CaseKeyPath<Action, Value>, timeout duration: Duration, assert updateStateToExpectedResult: ((inout State) throws -> Void)? = nil, fileID: StaticString = #fileID, file filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) async'
     |                                                           ╰─suggestion: Replace '53wic' with '(CaseKeyPath<Action,Value>,UInt64?,_,_,_,_,_)' for '@MainActor func receive<Value>(_ actionCase: CaseKeyPath<Action, Value>, timeout nanoseconds: UInt64? = nil, assert updateStateToExpectedResult: ((inout State) throws -> Void)? = nil, fileID: StaticString = #fileID, file filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) async'
1564 |   /// useful.
1565 |   ///
warning: '8zqxk' isn't a disambiguation for 'receive(_:timeout:assert:fileID:file:line:column:)' at '/ComposableArchitecture/TestStore'
    --> ../TestStore.swift:1603:85-1603:91
1601 |   /// state changes.
1602 |   ///
1603 +   /// This method is similar to ``receive(_:timeout:assert:fileID:file:line:column:)-8zqxk``, except
     |                                                                                     ├─suggestion: Replace '8zqxk' with '(Action,Duration,_,_,_,_,_)' for '@MainActor func receive(_ expectedAction: Action, timeout duration: Duration, assert updateStateToExpectedResult: ((inout State) throws -> Void)? = nil, fileID: StaticString = #fileID, file filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) async'
     |                                                                                     ├─suggestion: Replace '8zqxk' with '(Action,UInt64?,_,_,_,_,_)' for '@MainActor func receive(_ expectedAction: Action, timeout nanoseconds: UInt64? = nil, assert updateStateToExpectedResult: ((inout State) throws -> Void)? = nil, fileID: StaticString = #fileID, file filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) async'
     |                                                                                     ├─suggestion: Replace '8zqxk' with '((Action)->Bool,Duration,_,_,_,_,_)' for '@MainActor func receive(_ isMatching: (Action) -> Bool, timeout duration: Duration, assert updateStateToExpectedResult: ((inout State) throws -> Void)? = nil, fileID: StaticString = #fileID, file filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) async'
     |                                                                                     ├─suggestion: Replace '8zqxk' with '((Action)->Bool,UInt64?,_,_,_,_,_)' for '@MainActor func receive(_ isMatching: (Action) -> Bool, timeout nanoseconds: UInt64? = nil, assert updateStateToExpectedResult: ((inout State) throws -> Void)? = nil, fileID: StaticString = #fileID, file filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) async'
     |                                                                                     ├─suggestion: Replace '8zqxk' with '(AnyCasePath<Action,Value>,Duration,_,_,_,_,_)' for '@MainActor func receive<Value>(_ actionCase: AnyCasePath<Action, Value>, timeout duration: Duration, assert updateStateToExpectedResult: ((inout State) throws -> Void)? = nil, fileID: StaticString = #fileID, file filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) async'
     |                                                                                     ├─suggestion: Replace '8zqxk' with '(AnyCasePath<Action,Value>,UInt64?,_,_,_,_,_)' for '@MainActor func receive<Value>(_ actionCase: AnyCasePath<Action, Value>, timeout nanoseconds: UInt64? = nil, assert updateStateToExpectedResult: ((inout State) throws -> Void)? = nil, fileID: StaticString = #fileID, file filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) async'
     |                                                                                     ├─suggestion: Replace '8zqxk' with '(CaseKeyPath<Action,Value>,Duration,_,_,_,_,_)' for '@MainActor func receive<Value>(_ actionCase: CaseKeyPath<Action, Value>, timeout duration: Duration, assert updateStateToExpectedResult: ((inout State) throws -> Void)? = nil, fileID: StaticString = #fileID, file filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) async'
     |                                                                                     ╰─suggestion: Replace '8zqxk' with '(CaseKeyPath<Action,Value>,UInt64?,_,_,_,_,_)' for '@MainActor func receive<Value>(_ actionCase: CaseKeyPath<Action, Value>, timeout nanoseconds: UInt64? = nil, assert updateStateToExpectedResult: ((inout State) throws -> Void)? = nil, fileID: StaticString = #fileID, file filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) async'
1604 |   /// it allows you to assert that an action was received that matches a predicate instead of a case
1605 |   /// key path:
warning: '53wic' isn't a disambiguation for 'receive(_:timeout:assert:fileID:file:line:column:)' at '/ComposableArchitecture/TestStore'
    --> ../TestStore.swift:1622:59-1622:65
1620 |   ///
1621 |   /// If you only want to check that a particular action case was received, then you might find the
1622 +   /// ``receive(_:timeout:assert:fileID:file:line:column:)-53wic`` overload of this method more
     |                                                           ├─suggestion: Replace '53wic' with '(Action,Duration,_,_,_,_,_)' for '@MainActor func receive(_ expectedAction: Action, timeout duration: Duration, assert updateStateToExpectedResult: ((inout State) throws -> Void)? = nil, fileID: StaticString = #fileID, file filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) async'
     |                                                           ├─suggestion: Replace '53wic' with '(Action,UInt64?,_,_,_,_,_)' for '@MainActor func receive(_ expectedAction: Action, timeout nanoseconds: UInt64? = nil, assert updateStateToExpectedResult: ((inout State) throws -> Void)? = nil, fileID: StaticString = #fileID, file filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) async'
     |                                                           ├─suggestion: Replace '53wic' with '((Action)->Bool,Duration,_,_,_,_,_)' for '@MainActor func receive(_ isMatching: (Action) -> Bool, timeout duration: Duration, assert updateStateToExpectedResult: ((inout State) throws -> Void)? = nil, fileID: StaticString = #fileID, file filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) async'
     |                                                           ├─suggestion: Replace '53wic' with '((Action)->Bool,UInt64?,_,_,_,_,_)' for '@MainActor func receive(_ isMatching: (Action) -> Bool, timeout nanoseconds: UInt64? = nil, assert updateStateToExpectedResult: ((inout State) throws -> Void)? = nil, fileID: StaticString = #fileID, file filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) async'
     |                                                           ├─suggestion: Replace '53wic' with '(AnyCasePath<Action,Value>,Duration,_,_,_,_,_)' for '@MainActor func receive<Value>(_ actionCase: AnyCasePath<Action, Value>, timeout duration: Duration, assert updateStateToExpectedResult: ((inout State) throws -> Void)? = nil, fileID: StaticString = #fileID, file filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) async'
     |                                                           ├─suggestion: Replace '53wic' with '(AnyCasePath<Action,Value>,UInt64?,_,_,_,_,_)' for '@MainActor func receive<Value>(_ actionCase: AnyCasePath<Action, Value>, timeout nanoseconds: UInt64? = nil, assert updateStateToExpectedResult: ((inout State) throws -> Void)? = nil, fileID: StaticString = #fileID, file filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) async'
     |                                                           ├─suggestion: Replace '53wic' with '(CaseKeyPath<Action,Value>,Duration,_,_,_,_,_)' for '@MainActor func receive<Value>(_ actionCase: CaseKeyPath<Action, Value>, timeout duration: Duration, assert updateStateToExpectedResult: ((inout State) throws -> Void)? = nil, fileID: StaticString = #fileID, file filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) async'
     |                                                           ╰─suggestion: Replace '53wic' with '(CaseKeyPath<Action,Value>,UInt64?,_,_,_,_,_)' for '@MainActor func receive<Value>(_ actionCase: CaseKeyPath<Action, Value>, timeout nanoseconds: UInt64? = nil, assert updateStateToExpectedResult: ((inout State) throws -> Void)? = nil, fileID: StaticString = #fileID, file filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) async'
1623 |   /// useful.
1624 |   ///
warning: '35638' isn't a disambiguation for 'receive(_:timeout:assert:fileID:file:line:column:)' at '/ComposableArchitecture/TestStore'
    --> ../TestStore.swift:1686:85-1686:91
1684 |   /// Asserts an action was received matching a case path and asserts how the state changes.
1685 |   ///
1686 +   /// This method is similar to ``receive(_:timeout:assert:fileID:file:line:column:)-35638``, except
     |                                                                                     ├─suggestion: Replace '35638' with '(Action,Duration,_,_,_,_,_)' for '@MainActor func receive(_ expectedAction: Action, timeout duration: Duration, assert updateStateToExpectedResult: ((inout State) throws -> Void)? = nil, fileID: StaticString = #fileID, file filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) async'
     |                                                                                     ├─suggestion: Replace '35638' with '(Action,UInt64?,_,_,_,_,_)' for '@MainActor func receive(_ expectedAction: Action, timeout nanoseconds: UInt64? = nil, assert updateStateToExpectedResult: ((inout State) throws -> Void)? = nil, fileID: StaticString = #fileID, file filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) async'
     |                                                                                     ├─suggestion: Replace '35638' with '((Action)->Bool,Duration,_,_,_,_,_)' for '@MainActor func receive(_ isMatching: (Action) -> Bool, timeout duration: Duration, assert updateStateToExpectedResult: ((inout State) throws -> Void)? = nil, fileID: StaticString = #fileID, file filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) async'
     |                                                                                     ├─suggestion: Replace '35638' with '((Action)->Bool,UInt64?,_,_,_,_,_)' for '@MainActor func receive(_ isMatching: (Action) -> Bool, timeout nanoseconds: UInt64? = nil, assert updateStateToExpectedResult: ((inout State) throws -> Void)? = nil, fileID: StaticString = #fileID, file filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) async'
     |                                                                                     ├─suggestion: Replace '35638' with '(AnyCasePath<Action,Value>,Duration,_,_,_,_,_)' for '@MainActor func receive<Value>(_ actionCase: AnyCasePath<Action, Value>, timeout duration: Duration, assert updateStateToExpectedResult: ((inout State) throws -> Void)? = nil, fileID: StaticString = #fileID, file filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) async'
     |                                                                                     ├─suggestion: Replace '35638' with '(AnyCasePath<Action,Value>,UInt64?,_,_,_,_,_)' for '@MainActor func receive<Value>(_ actionCase: AnyCasePath<Action, Value>, timeout nanoseconds: UInt64? = nil, assert updateStateToExpectedResult: ((inout State) throws -> Void)? = nil, fileID: StaticString = #fileID, file filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) async'
     |                                                                                     ├─suggestion: Replace '35638' with '(CaseKeyPath<Action,Value>,Duration,_,_,_,_,_)' for '@MainActor func receive<Value>(_ actionCase: CaseKeyPath<Action, Value>, timeout duration: Duration, assert updateStateToExpectedResult: ((inout State) throws -> Void)? = nil, fileID: StaticString = #fileID, file filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) async'
     |                                                                                     ╰─suggestion: Replace '35638' with '(CaseKeyPath<Action,Value>,UInt64?,_,_,_,_,_)' for '@MainActor func receive<Value>(_ actionCase: CaseKeyPath<Action, Value>, timeout nanoseconds: UInt64? = nil, assert updateStateToExpectedResult: ((inout State) throws -> Void)? = nil, fileID: StaticString = #fileID, file filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) async'
1687 |   /// it allows you to assert that an action was received that matches a case key path instead of a
1688 |   /// predicate.
warning: '53wic' isn't a disambiguation for 'receive(_:timeout:assert:fileID:file:line:column:)' at '/ComposableArchitecture/TestStore'
    --> ../TestStore.swift:1743:85-1743:91
1741 |   /// the state changes.
1742 |   ///
1743 +   /// This method is similar to ``receive(_:timeout:assert:fileID:file:line:column:)-53wic``, except
     |                                                                                     ├─suggestion: Replace '53wic' with '(Action,Duration,_,_,_,_,_)' for '@MainActor func receive(_ expectedAction: Action, timeout duration: Duration, assert updateStateToExpectedResult: ((inout State) throws -> Void)? = nil, fileID: StaticString = #fileID, file filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) async'
     |                                                                                     ├─suggestion: Replace '53wic' with '(Action,UInt64?,_,_,_,_,_)' for '@MainActor func receive(_ expectedAction: Action, timeout nanoseconds: UInt64? = nil, assert updateStateToExpectedResult: ((inout State) throws -> Void)? = nil, fileID: StaticString = #fileID, file filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) async'
     |                                                                                     ├─suggestion: Replace '53wic' with '((Action)->Bool,Duration,_,_,_,_,_)' for '@MainActor func receive(_ isMatching: (Action) -> Bool, timeout duration: Duration, assert updateStateToExpectedResult: ((inout State) throws -> Void)? = nil, fileID: StaticString = #fileID, file filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) async'
     |                                                                                     ├─suggestion: Replace '53wic' with '((Action)->Bool,UInt64?,_,_,_,_,_)' for '@MainActor func receive(_ isMatching: (Action) -> Bool, timeout nanoseconds: UInt64? = nil, assert updateStateToExpectedResult: ((inout State) throws -> Void)? = nil, fileID: StaticString = #fileID, file filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) async'
     |                                                                                     ├─suggestion: Replace '53wic' with '(AnyCasePath<Action,Value>,Duration,_,_,_,_,_)' for '@MainActor func receive<Value>(_ actionCase: AnyCasePath<Action, Value>, timeout duration: Duration, assert updateStateToExpectedResult: ((inout State) throws -> Void)? = nil, fileID: StaticString = #fileID, file filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) async'
     |                                                                                     ├─suggestion: Replace '53wic' with '(AnyCasePath<Action,Value>,UInt64?,_,_,_,_,_)' for '@MainActor func receive<Value>(_ actionCase: AnyCasePath<Action, Value>, timeout nanoseconds: UInt64? = nil, assert updateStateToExpectedResult: ((inout State) throws -> Void)? = nil, fileID: StaticString = #fileID, file filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) async'
     |                                                                                     ├─suggestion: Replace '53wic' with '(CaseKeyPath<Action,Value>,Duration,_,_,_,_,_)' for '@MainActor func receive<Value>(_ actionCase: CaseKeyPath<Action, Value>, timeout duration: Duration, assert updateStateToExpectedResult: ((inout State) throws -> Void)? = nil, fileID: StaticString = #fileID, file filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) async'
     |                                                                                     ╰─suggestion: Replace '53wic' with '(CaseKeyPath<Action,Value>,UInt64?,_,_,_,_,_)' for '@MainActor func receive<Value>(_ actionCase: CaseKeyPath<Action, Value>, timeout nanoseconds: UInt64? = nil, assert updateStateToExpectedResult: ((inout State) throws -> Void)? = nil, fileID: StaticString = #fileID, file filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) async'
1744 |   /// it allows you to assert on the value inside the action too.
1745 |   ///
warning: '8zqxk' isn't a disambiguation for 'receive(_:timeout:assert:fileID:file:line:column:)' at '/ComposableArchitecture/TestStore'
    --> ../TestStore.swift:1893:85-1893:91
1891 |   /// Asserts an action was received matching a case path and asserts how the state changes.
1892 |   ///
1893 +   /// This method is similar to ``receive(_:timeout:assert:fileID:file:line:column:)-8zqxk``, except
     |                                                                                     ├─suggestion: Replace '8zqxk' with '(Action,Duration,_,_,_,_,_)' for '@MainActor func receive(_ expectedAction: Action, timeout duration: Duration, assert updateStateToExpectedResult: ((inout State) throws -> Void)? = nil, fileID: StaticString = #fileID, file filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) async'
     |                                                                                     ├─suggestion: Replace '8zqxk' with '(Action,UInt64?,_,_,_,_,_)' for '@MainActor func receive(_ expectedAction: Action, timeout nanoseconds: UInt64? = nil, assert updateStateToExpectedResult: ((inout State) throws -> Void)? = nil, fileID: StaticString = #fileID, file filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) async'
     |                                                                                     ├─suggestion: Replace '8zqxk' with '((Action)->Bool,Duration,_,_,_,_,_)' for '@MainActor func receive(_ isMatching: (Action) -> Bool, timeout duration: Duration, assert updateStateToExpectedResult: ((inout State) throws -> Void)? = nil, fileID: StaticString = #fileID, file filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) async'
     |                                                                                     ├─suggestion: Replace '8zqxk' with '((Action)->Bool,UInt64?,_,_,_,_,_)' for '@MainActor func receive(_ isMatching: (Action) -> Bool, timeout nanoseconds: UInt64? = nil, assert updateStateToExpectedResult: ((inout State) throws -> Void)? = nil, fileID: StaticString = #fileID, file filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) async'
     |                                                                                     ├─suggestion: Replace '8zqxk' with '(AnyCasePath<Action,Value>,Duration,_,_,_,_,_)' for '@MainActor func receive<Value>(_ actionCase: AnyCasePath<Action, Value>, timeout duration: Duration, assert updateStateToExpectedResult: ((inout State) throws -> Void)? = nil, fileID: StaticString = #fileID, file filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) async'
     |                                                                                     ├─suggestion: Replace '8zqxk' with '(AnyCasePath<Action,Value>,UInt64?,_,_,_,_,_)' for '@MainActor func receive<Value>(_ actionCase: AnyCasePath<Action, Value>, timeout nanoseconds: UInt64? = nil, assert updateStateToExpectedResult: ((inout State) throws -> Void)? = nil, fileID: StaticString = #fileID, file filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) async'
     |                                                                                     ├─suggestion: Replace '8zqxk' with '(CaseKeyPath<Action,Value>,Duration,_,_,_,_,_)' for '@MainActor func receive<Value>(_ actionCase: CaseKeyPath<Action, Value>, timeout duration: Duration, assert updateStateToExpectedResult: ((inout State) throws -> Void)? = nil, fileID: StaticString = #fileID, file filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) async'
     |                                                                                     ╰─suggestion: Replace '8zqxk' with '(CaseKeyPath<Action,Value>,UInt64?,_,_,_,_,_)' for '@MainActor func receive<Value>(_ actionCase: CaseKeyPath<Action, Value>, timeout nanoseconds: UInt64? = nil, assert updateStateToExpectedResult: ((inout State) throws -> Void)? = nil, fileID: StaticString = #fileID, file filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) async'
1894 |   /// it allows you to assert that an action was received that matches a case key path instead of a
1895 |   /// predicate.
warning: '53wic' isn't a disambiguation for 'receive(_:timeout:assert:fileID:file:line:column:)' at '/ComposableArchitecture/TestStore'
    --> ../TestStore.swift:1951:85-1951:91
1949 |   /// the state changes.
1950 |   ///
1951 +   /// This method is similar to ``receive(_:timeout:assert:fileID:file:line:column:)-53wic``, except
     |                                                                                     ├─suggestion: Replace '53wic' with '(Action,Duration,_,_,_,_,_)' for '@MainActor func receive(_ expectedAction: Action, timeout duration: Duration, assert updateStateToExpectedResult: ((inout State) throws -> Void)? = nil, fileID: StaticString = #fileID, file filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) async'
     |                                                                                     ├─suggestion: Replace '53wic' with '(Action,UInt64?,_,_,_,_,_)' for '@MainActor func receive(_ expectedAction: Action, timeout nanoseconds: UInt64? = nil, assert updateStateToExpectedResult: ((inout State) throws -> Void)? = nil, fileID: StaticString = #fileID, file filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) async'
     |                                                                                     ├─suggestion: Replace '53wic' with '((Action)->Bool,Duration,_,_,_,_,_)' for '@MainActor func receive(_ isMatching: (Action) -> Bool, timeout duration: Duration, assert updateStateToExpectedResult: ((inout State) throws -> Void)? = nil, fileID: StaticString = #fileID, file filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) async'
     |                                                                                     ├─suggestion: Replace '53wic' with '((Action)->Bool,UInt64?,_,_,_,_,_)' for '@MainActor func receive(_ isMatching: (Action) -> Bool, timeout nanoseconds: UInt64? = nil, assert updateStateToExpectedResult: ((inout State) throws -> Void)? = nil, fileID: StaticString = #fileID, file filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) async'
     |                                                                                     ├─suggestion: Replace '53wic' with '(AnyCasePath<Action,Value>,Duration,_,_,_,_,_)' for '@MainActor func receive<Value>(_ actionCase: AnyCasePath<Action, Value>, timeout duration: Duration, assert updateStateToExpectedResult: ((inout State) throws -> Void)? = nil, fileID: StaticString = #fileID, file filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) async'
     |                                                                                     ├─suggestion: Replace '53wic' with '(AnyCasePath<Action,Value>,UInt64?,_,_,_,_,_)' for '@MainActor func receive<Value>(_ actionCase: AnyCasePath<Action, Value>, timeout nanoseconds: UInt64? = nil, assert updateStateToExpectedResult: ((inout State) throws -> Void)? = nil, fileID: StaticString = #fileID, file filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) async'
     |                                                                                     ├─suggestion: Replace '53wic' with '(CaseKeyPath<Action,Value>,Duration,_,_,_,_,_)' for '@MainActor func receive<Value>(_ actionCase: CaseKeyPath<Action, Value>, timeout duration: Duration, assert updateStateToExpectedResult: ((inout State) throws -> Void)? = nil, fileID: StaticString = #fileID, file filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) async'
     |                                                                                     ╰─suggestion: Replace '53wic' with '(CaseKeyPath<Action,Value>,UInt64?,_,_,_,_,_)' for '@MainActor func receive<Value>(_ actionCase: CaseKeyPath<Action, Value>, timeout nanoseconds: UInt64? = nil, assert updateStateToExpectedResult: ((inout State) throws -> Void)? = nil, fileID: StaticString = #fileID, file filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) async'
1952 |   /// it allows you to assert on the value inside the action too.
1953 |   ///
warning: '8f2pl' isn't a disambiguation for 'send(_:assert:fileID:file:line:column:)' at '/ComposableArchitecture/TestStore'
    --> ../TestStore.swift:2258:74-2258:80
2256 |   /// Sends an action to the store and asserts when state changes.
2257 |   ///
2258 +   /// This method is similar to ``send(_:assert:fileID:file:line:column:)-8f2pl``, except it allows
     |                                                                          ├─suggestion: Replace '8f2pl' with '(Action,_,_,_,_,_)' for '@discardableResult @MainActor func send(_ action: Action, assert updateStateToExpectedResult: ((inout State) throws -> Void)? = nil, fileID: StaticString = #fileID, file filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) async -> TestStoreTask'
     |                                                                          ╰─suggestion: Replace '8f2pl' with '(CaseKeyPath<Action,Void>,_,_,_,_,_)' for '@discardableResult @MainActor func send(_ action: CaseKeyPath<Action, Void>, assert updateStateToExpectedResult: ((inout State) throws -> Void)? = nil, fileID: StaticString = #fileID, file filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) async -> TestStoreTask'
2259 |   /// you to specify a case key path to an action, which can be useful when testing the integration
2260 |   /// of features and sending deeply nested actions. For example:
warning: '8f2pl' isn't a disambiguation for 'send(_:assert:fileID:file:line:column:)' at '/ComposableArchitecture/TestStore'
    --> ../TestStore.swift:2306:74-2306:80
2304 |   /// Sends an action to the store and asserts when state changes.
2305 |   ///
2306 +   /// This method is similar to ``send(_:assert:fileID:file:line:column:)-8f2pl``, except it allows
     |                                                                          ├─suggestion: Replace '8f2pl' with '(Action,_,_,_,_,_)' for '@discardableResult @MainActor func send(_ action: Action, assert updateStateToExpectedResult: ((inout State) throws -> Void)? = nil, fileID: StaticString = #fileID, file filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) async -> TestStoreTask'
     |                                                                          ╰─suggestion: Replace '8f2pl' with '(CaseKeyPath<Action,Void>,_,_,_,_,_)' for '@discardableResult @MainActor func send(_ action: CaseKeyPath<Action, Void>, assert updateStateToExpectedResult: ((inout State) throws -> Void)? = nil, fileID: StaticString = #fileID, file filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) async -> TestStoreTask'
2307 |   /// you to specify a value for the associated value of the action.
2308 |   ///
warning: '8f2pl' isn't a disambiguation for 'send(_:assert:fileID:file:line:column:)' at '/ComposableArchitecture/TestStore'
    --> ../TestStore.swift:2671:79-2671:85
2669 | }
2670 |
2671 + /// The type returned from ``TestStore/send(_:assert:fileID:file:line:column:)-8f2pl`` that represents the
     |                                                                               ├─suggestion: Replace '8f2pl' with '(Action,_,_,_,_,_)' for '@discardableResult @MainActor func send(_ action: Action, assert updateStateToExpectedResult: ((inout State) throws -> Void)? = nil, fileID: StaticString = #fileID, file filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) async -> TestStoreTask'
     |                                                                               ╰─suggestion: Replace '8f2pl' with '(CaseKeyPath<Action,Void>,_,_,_,_,_)' for '@discardableResult @MainActor func send(_ action: CaseKeyPath<Action, Void>, assert updateStateToExpectedResult: ((inout State) throws -> Void)? = nil, fileID: StaticString = #fileID, file filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) async -> TestStoreTask'
2672 | /// lifecycle of the effect started from sending an action.
2673 | ///
warning: '53wic' isn't a disambiguation for 'receive(_:timeout:assert:fileID:file:line:column:)' at '/ComposableArchitecture/TestStore'
    --> ../TestStore.swift:2959:69-2959:75
2957 |   ///
2958 |   /// To partially match an action received from an effect, use
2959 +   /// ``TestStore/receive(_:timeout:assert:fileID:file:line:column:)-53wic`` or
     |                                                                     ├─suggestion: Replace '53wic' with '(Action,Duration,_,_,_,_,_)' for '@MainActor func receive(_ expectedAction: Action, timeout duration: Duration, assert updateStateToExpectedResult: ((inout State) throws -> Void)? = nil, fileID: StaticString = #fileID, file filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) async'
     |                                                                     ├─suggestion: Replace '53wic' with '(Action,UInt64?,_,_,_,_,_)' for '@MainActor func receive(_ expectedAction: Action, timeout nanoseconds: UInt64? = nil, assert updateStateToExpectedResult: ((inout State) throws -> Void)? = nil, fileID: StaticString = #fileID, file filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) async'
     |                                                                     ├─suggestion: Replace '53wic' with '((Action)->Bool,Duration,_,_,_,_,_)' for '@MainActor func receive(_ isMatching: (Action) -> Bool, timeout duration: Duration, assert updateStateToExpectedResult: ((inout State) throws -> Void)? = nil, fileID: StaticString = #fileID, file filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) async'
     |                                                                     ├─suggestion: Replace '53wic' with '((Action)->Bool,UInt64?,_,_,_,_,_)' for '@MainActor func receive(_ isMatching: (Action) -> Bool, timeout nanoseconds: UInt64? = nil, assert updateStateToExpectedResult: ((inout State) throws -> Void)? = nil, fileID: StaticString = #fileID, file filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) async'
     |                                                                     ├─suggestion: Replace '53wic' with '(AnyCasePath<Action,Value>,Duration,_,_,_,_,_)' for '@MainActor func receive<Value>(_ actionCase: AnyCasePath<Action, Value>, timeout duration: Duration, assert updateStateToExpectedResult: ((inout State) throws -> Void)? = nil, fileID: StaticString = #fileID, file filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) async'
     |                                                                     ├─suggestion: Replace '53wic' with '(AnyCasePath<Action,Value>,UInt64?,_,_,_,_,_)' for '@MainActor func receive<Value>(_ actionCase: AnyCasePath<Action, Value>, timeout nanoseconds: UInt64? = nil, assert updateStateToExpectedResult: ((inout State) throws -> Void)? = nil, fileID: StaticString = #fileID, file filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) async'
     |                                                                     ├─suggestion: Replace '53wic' with '(CaseKeyPath<Action,Value>,Duration,_,_,_,_,_)' for '@MainActor func receive<Value>(_ actionCase: CaseKeyPath<Action, Value>, timeout duration: Duration, assert updateStateToExpectedResult: ((inout State) throws -> Void)? = nil, fileID: StaticString = #fileID, file filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) async'
     |                                                                     ╰─suggestion: Replace '53wic' with '(CaseKeyPath<Action,Value>,UInt64?,_,_,_,_,_)' for '@MainActor func receive<Value>(_ actionCase: CaseKeyPath<Action, Value>, timeout nanoseconds: UInt64? = nil, assert updateStateToExpectedResult: ((inout State) throws -> Void)? = nil, fileID: StaticString = #fileID, file filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) async'
2960 |   /// ``TestStore/receive(_:timeout:assert:fileID:file:line:column:)-35638``.
2961 |
warning: '35638' isn't a disambiguation for 'receive(_:timeout:assert:fileID:file:line:column:)' at '/ComposableArchitecture/TestStore'
    --> ../TestStore.swift:2960:69-2960:75
2958 |   /// To partially match an action received from an effect, use
2959 |   /// ``TestStore/receive(_:timeout:assert:fileID:file:line:column:)-53wic`` or
2960 +   /// ``TestStore/receive(_:timeout:assert:fileID:file:line:column:)-35638``.
     |                                                                     ├─suggestion: Replace '35638' with '(Action,Duration,_,_,_,_,_)' for '@MainActor func receive(_ expectedAction: Action, timeout duration: Duration, assert updateStateToExpectedResult: ((inout State) throws -> Void)? = nil, fileID: StaticString = #fileID, file filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) async'
     |                                                                     ├─suggestion: Replace '35638' with '(Action,UInt64?,_,_,_,_,_)' for '@MainActor func receive(_ expectedAction: Action, timeout nanoseconds: UInt64? = nil, assert updateStateToExpectedResult: ((inout State) throws -> Void)? = nil, fileID: StaticString = #fileID, file filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) async'
     |                                                                     ├─suggestion: Replace '35638' with '((Action)->Bool,Duration,_,_,_,_,_)' for '@MainActor func receive(_ isMatching: (Action) -> Bool, timeout duration: Duration, assert updateStateToExpectedResult: ((inout State) throws -> Void)? = nil, fileID: StaticString = #fileID, file filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) async'
     |                                                                     ├─suggestion: Replace '35638' with '((Action)->Bool,UInt64?,_,_,_,_,_)' for '@MainActor func receive(_ isMatching: (Action) -> Bool, timeout nanoseconds: UInt64? = nil, assert updateStateToExpectedResult: ((inout State) throws -> Void)? = nil, fileID: StaticString = #fileID, file filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) async'
     |                                                                     ├─suggestion: Replace '35638' with '(AnyCasePath<Action,Value>,Duration,_,_,_,_,_)' for '@MainActor func receive<Value>(_ actionCase: AnyCasePath<Action, Value>, timeout duration: Duration, assert updateStateToExpectedResult: ((inout State) throws -> Void)? = nil, fileID: StaticString = #fileID, file filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) async'
     |                                                                     ├─suggestion: Replace '35638' with '(AnyCasePath<Action,Value>,UInt64?,_,_,_,_,_)' for '@MainActor func receive<Value>(_ actionCase: AnyCasePath<Action, Value>, timeout nanoseconds: UInt64? = nil, assert updateStateToExpectedResult: ((inout State) throws -> Void)? = nil, fileID: StaticString = #fileID, file filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) async'
     |                                                                     ├─suggestion: Replace '35638' with '(CaseKeyPath<Action,Value>,Duration,_,_,_,_,_)' for '@MainActor func receive<Value>(_ actionCase: CaseKeyPath<Action, Value>, timeout duration: Duration, assert updateStateToExpectedResult: ((inout State) throws -> Void)? = nil, fileID: StaticString = #fileID, file filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) async'
     |                                                                     ╰─suggestion: Replace '35638' with '(CaseKeyPath<Action,Value>,UInt64?,_,_,_,_,_)' for '@MainActor func receive<Value>(_ actionCase: CaseKeyPath<Action, Value>, timeout nanoseconds: UInt64? = nil, assert updateStateToExpectedResult: ((inout State) throws -> Void)? = nil, fileID: StaticString = #fileID, file filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) async'
2961 |
2962 |   case on
Finished building documentation for 'ComposableArchitecture' (6.71s)
Generated documentation archive at:
  /Users/admin/builder/spi-builder-workspace/.docs/pointfreeco/swift-composable-architecture/1.23.1
Building for debugging...
[0/8] Write snippet-extract-tool-entitlement.plist
[0/8] Write sources
[4/8] Write swift-version-49B95AFC49DCD68C.txt
[6/53] Compiling SymbolKit Relationship.swift
[7/53] Compiling SymbolKit RelationshipKind.swift
[8/53] Compiling SymbolKit SourceOrigin.swift
[9/53] Compiling SymbolKit GenericConstraints.swift
[10/53] Compiling SymbolKit Swift.swift
[11/57] Emitting module SymbolKit
[12/57] Compiling SymbolKit Mixin+Equals.swift
[13/57] Compiling SymbolKit Mixin+Hash.swift
[14/57] Compiling SymbolKit Mixin.swift
[15/57] Compiling SymbolKit LineList.swift
[16/57] Compiling SymbolKit Position.swift
[17/57] Compiling SymbolKit SemanticVersion.swift
[18/57] Compiling SymbolKit AccessControl.swift
[19/57] Compiling SymbolKit Availability.swift
[20/57] Compiling SymbolKit AvailabilityItem.swift
[21/57] Compiling SymbolKit Domain.swift
[22/57] Compiling SymbolKit SourceRange.swift
[23/57] Compiling SymbolKit Metadata.swift
[24/57] Compiling SymbolKit Module.swift
[25/57] Compiling SymbolKit OperatingSystem.swift
[26/57] Compiling SymbolKit Platform.swift
[27/57] Emitting module Snippets
[28/57] Compiling Snippets Snippet.swift
[29/57] Compiling Snippets SnippetParser.swift
[30/57] Compiling SymbolKit Names.swift
[31/57] Compiling SymbolKit SPI.swift
[32/57] Compiling SymbolKit Snippet.swift
[33/57] Compiling SymbolKit Extension.swift
[34/57] Compiling SymbolKit Symbol.swift
[35/57] Compiling SymbolKit SymbolKind.swift
[36/57] Compiling SymbolKit SymbolGraph.swift
[37/57] Compiling SymbolKit GraphCollector.swift
[38/57] Compiling SymbolKit GenericConstraint.swift
[39/57] Compiling SymbolKit GenericParameter.swift
[40/57] Compiling SymbolKit Generics.swift
[41/57] Compiling SymbolKit Namespace.swift
[42/57] Compiling SymbolKit DeclarationFragments.swift
[43/57] Compiling SymbolKit Fragment.swift
[44/57] Compiling SymbolKit FragmentKind.swift
[45/57] Compiling SymbolKit FunctionParameter.swift
[46/57] Compiling SymbolKit FunctionSignature.swift
[47/57] Compiling SymbolKit Identifier.swift
[48/57] Compiling SymbolKit KindIdentifier.swift
[49/57] Compiling SymbolKit Location.swift
[50/57] Compiling SymbolKit Mutability.swift
[51/57] Compiling SymbolKit UnifiedSymbol+Encodable.swift
[52/57] Compiling SymbolKit UnifiedSymbol.swift
[53/57] Compiling SymbolKit UnifiedSymbolGraph+Encodable.swift
[54/57] Compiling SymbolKit UnifiedSymbolGraph.swift
[55/61] Compiling snippet_extract URL+Status.swift
[56/61] Compiling snippet_extract SymbolGraph+Snippet.swift
[57/61] Emitting module snippet_extract
[58/61] Compiling snippet_extract SnippetBuildCommand.swift
[58/61] Write Objects.LinkFileList
[59/61] Linking snippet-extract-tool
[60/61] Applying snippet-extract-tool
Build of product 'snippet-extract' complete! (3.96s)
Building for debugging...
[0/1] Write swift-version-49B95AFC49DCD68C.txt
Build of target: 'ComposableArchitecture' complete! (1.53s)
   15662
141	/Users/admin/builder/spi-builder-workspace/.docs/pointfreeco/swift-composable-architecture/1.23.1
✅  Doc result (uploading) reported
========================================
SyncDocs
========================================
Doc archive source directory: $PWD/.docs/pointfreeco/swift-composable-architecture/1.23.1
File count: 15662
Doc size:   141.0MB
Preparing doc bundle ...
Uploading prod-pointfreeco-swift-composable-architecture-1.23.1-9a0321d1.zip to s3://spi-docs-inbox/prod-pointfreeco-swift-composable-architecture-1.23.1-9a0321d1.zip
Copying... [10%]
Copying... [20%]
Copying... [30%]
Copying... [40%]
Copying... [50%]
Copying... [60%]
Copying... [70%]
Copying... [80%]
Copying... [90%]
Copying... [100%]
Done.