subtask lifetime을 lexical scope 안에 가둔다.
scope와 join policy를 만든다
관련 subtask를 시작한다
unit으로 완료·실패를 기다린다
성공 result를 읽고 모두 정리한다
핵심: join 전에 get하거나 block 밖에 handle을 보관하지 않는다.