end to end distance
next_direction size is connectivity
GPL header fixed
iteration supports nested iterators