Add Yardoc for ::Enumerable extensions
Mark internal modules of Immutable as @private
Annotate List::CADR as @private
Rewrite incorrect docstring for List#zip
Fix bug in List#zip (introduced when changing name of parameter)
Wrote more docstrings for List methods
Large List, Set, Vector, SortedSet, Deque all indent first item when pretty-printed
Corrected return type annotations for Vector#[] and SortedSet#[]
Tweaked a couple of Vector method docstrings
List#init and #tails do not include empty list in results
List#each_chunk returns self

This is for greater consistency with the way core Ruby classes treat methods like #each.
Make Hamster::Enumerable#group_by_with protected

There is little reason why people would want to call it outside a subclass. Also, it
expects to receive very specific arguments, and if the wrong arguments (say, a mutable
Array) are passed, it will not do anything useful.
Write docstrings for Hamster::Enumerable methods