closures and the garbage collector

transitive dependency graphs, gc roots, and what actually gets kept.