discard """ output: '''TMatrix[3, 3, system.int] 3''' """ import typetraits type TMatrix*[N,M: static[int], T] = object data*: array[0..N*M-1, T] TMat2[T] = TMatrix[2,2,T] proc echoMatrix(a: TMatrix) = echo a.type.name echo TMatrix.N proc echoMat2(a: TMat2) = echo TMat2.M var m = TMatrix[3,3,int](data: [1,2,3,4,5,6,7,8,9]) echoMatrix m #echoMat2 m