Fixed some comment typos.
Added class comment.
Design of range doesn’t seem to fit to generic-range concept. It seems to require to take element-type parameter rather than iterator-type parameter, and I have no idea how to do that now.
Removed generic-range stuff, and renamed to `IterationRange` to clearly show the original intent.