simplified API of IterableExtensions
now there is only a single transitiveClosure() method