Add transitive closure generator