I've only cursory of Zig, so bear with me. Does this mean that Zig templates are like C++, that is, duck typing? Or is there a notion of constraining the type arguments?
I wrote a blog post about comptime if you want to learn more: https://kristoff.it/blog/what-is-zig-comptime/