https://medium.com/@simontoth/daily-bit-e-of-c-std-ranges-starts-with-std-ranges-ends-with-8993963e539f