Clean and refactor

* adds some augmentation to LazyList
* move module level functions working on lists in the augmentation