This is done to allow a 2x2 matrix operate on a 2D vector. Because this pull request treats 2D vectors as 3D vectors with a z-component 0, therefor `B.v.length` is 3.

So the 'simplest' solution to that problem was to allow matrices of any size act upon vectors just as long as there is a vector-element for each matrix-row, i.e. `B.v.length >= this.cols`.

Having said that, I agree that it is not intuitive. Because this is a consequence of treating 2D vectors as disguised  3D vectors, you can wonder if that is a good choice to do. There are alternatives.