Jz sparse

@jz10 
// ??? This traversal operates over the partition graph but then for each PG node it performs a full AST
// ??? traversal. The result seems to be to traverse sub-expressions of a statement multiple times as PG
// ??? nodes for deeper and deeper ancestors of the sub-expression are touched. What does this repetition do?