The length of the list CoefficientArrays[polys, vars] is one more than the total degree of polys.
The mi are sparse arrays with ranks .
The first element m0 has the same length as the list polys.
If polys is a single polynomial rather than a list, m0 is also not a list.
For linear equations, the solution to Thread[polys0] is given by LinearSolve[m1, -m0].
For nonlinear equations, the mi are not unique. CoefficientArrays by default assigns non-zero coefficients only to monomials where the variables appear in the same order as vars.
CoefficientArrays[polys, vars, Symmetric->True] makes all the mi symmetric in all their indices. The resulting arrays will generally be less sparse.