internal sealed record ProgressHidden;
internal sealed record ProgressCompleted;
internal sealed record ProgressRunning(
WorkItem? Work = null,
string? Message = null,
double? Progress = null
);
[UnionType<ProgressHidden, ProgressRunning, ProgressCompleted>]
internal readonly partial struct ProgressState;
I would expect state.Switch(hidden, running, completed) but its state.Switch(completed, hidden, running)
I would expect
state.Switch(hidden, running, completed)but itsstate.Switch(completed, hidden, running)