C++23: From imperative loops to declarative ranges

Fail loudly: a plea to stop hiding bugs