detail: one_step_iterator and make_one_step_range() implementation.
options::option: id() -> ids().
options::option{,_set}: init() -> setopt().