Improve Lazy::Sequence
Lazy::Sequence now works with std::ranges::views if you use C++20 compiler.
Example:
constexpr int N = 10;
auto even = [](auto i) { return 0 == i % 2; };
auto square = [](auto i) { return i * i; };
auto lseq = Lazy::Sequence{N};
for (auto i : lseq | std::views::filter(even) | std::views::transform(square)) {
std::cout << i << ' ';
}
std::cout << "\n";
Output: 0 4 16 36 64