alias S1 = MostDerivedScheduler!Scheduler; alias S2 = MostDerivedScheduler!AsyncScheduler; alias S3 = MostDerivedScheduler!LocalScheduler; alias S4 = MostDerivedScheduler!ThreadScheduler; alias S5 = MostDerivedScheduler!TaskPoolScheduler; alias S6 = MostDerivedScheduler!(HistoricalScheduler!ThreadScheduler); alias S7 = MostDerivedScheduler!(HistoricalScheduler!TaskPoolScheduler); static assert(is(S1 == Scheduler)); static assert(is(S2 == AsyncScheduler)); static assert(is(S3 == Scheduler)); static assert(is(S4 == AsyncScheduler)); static assert(is(S5 == AsyncScheduler)); static assert(is(S6 == AsyncScheduler)); static assert(is(S7 == AsyncScheduler));