Control.Concurrent.HierarchyInternal
data FinishMarker
data ThreadMap
newThreadMap
newChild
killThreadHierarchy
newFinishMarker
markFinish
waitFinish
cleanup