@oscardssmith, excellent point.
Also for just sparse matrices like CSR.
It would be really cool if user defined matrices could somehow reuse the natural Fortran array syntax. I believe C++ will now be able to do exactly that:
Improving Fortran standardization process (lessons from C++23 getting multidimensional arrays)
To use an agreed upon API for arrays, with user defined implementations.