Tail recursive length, lists functions