n_elements_range ctor could dispatch on tag
rename target names
rename n_elements => take_n
add .gitignore
no need for struct here
rename take_n => truncated