Wouldn't this be better served with defaults?
// constructor
func init (a, b, c) {
if (!a) a = 0;
if (!b) b = 0;
if (!c) c = 0;
x = a; y = b; z = c;
}
Like func init (a=0, b=0, c=0) {
x = a; y = b; z = c;
}