These functions accept variadic arguments, and place requirements on them. Specifically, that summing any two arguments cannot result in 0 unless they are all 0. In real terms, this means they should be "small" in some sense (e.g. u1, u8, etc). Unfortunately, the lack of type information given for the arguments of this functions represents a potential pitfall. Specifically:
There is no syntax for adding type information on arguments for variadic functions.
Even if such syntax existed, its not clear what type should be used to ensure overflow is impossible.
The latter point is especially true with field agnosticity. That's because the size of fields (hence the chance of overflow) is much increased.
These functions accept variadic arguments, and place requirements on them. Specifically, that summing any two arguments cannot result in
0
unless they are all0
. In real terms, this means they should be "small" in some sense (e.g.u1
,u8
, etc). Unfortunately, the lack of type information given for the arguments of this functions represents a potential pitfall. Specifically:The latter point is especially true with field agnosticity. That's because the size of fields (hence the chance of overflow) is much increased.