More work on basic_mat.hpp