In the begging the compiler would warn about unused results, that's why I used assignments instead of plain `dup(m);` calls.
This is probably a weak vs. strong pure, i.e. dup should take it's argument as `const T[]`.