Improve some doc comments
Add takeWhile and dropWhile functions