ImmutablePath sucks for a few reasons:
1. It has ImmutablePathImpl interface to combine Tail and ImmutablePath. Lame.
2. It uses recurssion to find data. Lame.
For 3.2.1, I have done a lot to use while()-based recursion and I suspect I can gut ImmutablePathImpl and few other kooky things.