Focus on the compile error story. In particular, the design should avoid anything that leads to post-monomorphization errors.
This is the single biggest mistake of Rust imho. I don't care in which compiler pass an error occurs as long as it happens at compile time.
Rust has this anyways, you can already create types that fail after monomorphization, so you don't get any of the touted advantages anyways. You might as well bite the bullet accept that the people who say “You guys are dumb, just copy Zig’s type system” have a point, and shed some of the ivory tower dogma in exchange for a better language. It's completely fine for monomorphization to fail, and it allows you to create much more powerfull types.Rust is already incredibly complex, and most of that complexity comes from dozens of different systems that share few concepts all with their own syntax (modules, macros, traits, e.t.c.), so adding yet another syntax for static loops begs the question if some of this can't be unified.
Zig is a seriously flawed language, but comptime is the right abstraction for metaprogramming in an imperative language.