If max(JA) is not equal to columns then one can pass the shape parameter. It's just that these are not private functions so someone might just want to pass A, JA, IA; if you want to make them private you can name them with an underscore prefix (as in `_doktocsr`).