[Pitch #2] Structured Concurrency

An additional point I would like to raise in relation to async let (and presumably also task groups, considering that async let is further described as sugar to task groups) implicitly changing the executor is that this appears contrary to one of the intended use-cases outlined in the Task Local Values pitch, namely that the executor of a task be determined by a task local value. As described there, child tasks are to inherit their parent's task locals unless they are explicitly rebound to different values for that child task; therefore child tasks should also inherit the parent's executor unless it is explicitly rebound. The implicit executor-changing behaviour would violate this; not exactly an unreasonable thing, but more surprising than the alternative, in my opinion.