dropped Builder::matrixType in favor of MatrixType struct