Example ```zig fn Matrix( comptime T: type, width: comptime_int, height: comptime_int, ) type { return [height][width]T; } ``` `width` and `heigth` should be checked and require `comptime` even if they are actually type erased.