I would update the docstring of `safe_sparse_dot` to mention that this uses a direct BLAS GEMM call that tries to limit the memory copy when possible by using `fast_dot`.