Arity N when you supply a value
Arity N-1 when you use the default
I can think of a few reasons
- makes function calling simpler
- faster compilation
- less symbol mangling
- makes grepping for function implementation easier
If for some reason you think you absolutely can't live without variadic functions, maybe don't use zig.