C++20 machine learning library with no external dependencies (nanorange used temporarily for C++20 ranges)