That's true, but the parent comment never claimed that, only that missing arguments are assigned the value 0 in the resultant struct.
“[…] so you get optional parameters for free”
I should have finished that with "... as long as a default of 0 is acceptable." If 0 is a valid argument but a bad default, then it's slightly less useful.