TIL: Apparently, Swift does not support creating concrete protocols from generic ones since it uses associated types for more customizable generic protocol adaptation. This is in contrast to classes and structs. Here is an example of a generic struct from my situation:
fileprivate struct WindowScopeUpdate<State> {
let update: (State) -> (State)
}An example usage would be like this (where TaskListWindowState is a concrete type such as a class, struct, or non-generic protocol):