add loop.first and loop.last
update guide
update docs
fix typo
update docs
update docs; add compatibility.md