using System.Threading.Tasks; namespace Syntriax.Engine.Core; public record struct ProgressiveTask(IReadOnlyProgressionTracker ProgressionTracker, Task Task) { public static implicit operator (IReadOnlyProgressionTracker progressionTracker, Task task)(ProgressiveTask value) => (value.ProgressionTracker, value.Task); public static implicit operator ProgressiveTask((IReadOnlyProgressionTracker progressionTracker, Task task) value) => new(value.progressionTracker, value.task); }