Implement zipAll
Fix take, takeWhile
Minor refactorig