Transitive closure C extension

@mwylde
Same with this.