Great breakdown of structured vs. unstructured tasks. One complementary tip: when using TaskGroup, explicitly handle child task errors within the group block to prevent a thrown error from automatically canceling all other child tasks—this gives you finer control over failure scenarios.