`def *[RowT2](that: BlockMatrix[RowT2, GroupT, ColT1 ValT]): Matrix[RowT, RowT2, ValT]`
Also consider calling this `dotProd` because it is really a dot product on a higher dimensional Vector (a vector over G where each item in the vector is a Matrix).