Hidden constraints on the result type in Concurrency Runtime tasks