See my project here: [https://github.com/zetashift/naytracer](https://github.com/zetashift/naytracer) the code I pasted in the playground comes from src/naytracerpkg/matrix.nim having the definitations and tests/tmatrix.nim having the test.
The test fails for me on my local machine with a type mismatch error. But since the code was copy pasted into the playground and works fine there I have no idea how to fix this. The full error being: C:\Users\Administrator\.choosenim\toolchains\nim-1.0.6\lib\pure\unittest.nim(665, 14) Error: type mism atch: got <Matrix[W - 1, H - 1], Matrix[3, 3]> but expected one of: proc `==`[I, T](x, y: array[I, T]): bool first type mismatch at position: 2 required type for y: array[I, T] but expression ':c2' is of type: Matrix[3, 3] proc `==`[T](x, y: openArray[T]): bool first type mismatch at position: 2 required type for y: openArray[T] but expression ':c2' is of type: Matrix[3, 3] func `==`[W, H](m1, m2: Matrix[W, H]): bool first type mismatch at position: 2 required type for m2: Matrix[==.W, ==.H] but expression ':c2' is of type: Matrix[3, 3] 24 other mismatching symbols have been suppressed; compile with --showAllMismatches:on to see them expression: :c1 == :c2 Tip: 1 messages have been suppressed, use --verbose to show them. Error: Execution failed with exit code 1 ... Command: "C:\Users\Administrator\.nimble\bin\nim.exe" c --noNimblePath -d:NimblePkgVersion Run