Iplement takeWhile()
Implement dropWhile()
Throw exception on strict version cycle()
Implement repeat()
Iterator internal variables to private
Add collection functions test