Lite-C can handle multiple declarations. But it is only using the last declaration and discarding the earlier one. So my_shove2 would always be an angle because this was the last declaration. Angles consists of three vars like vectors. They are internally the same. But maybe Acknex keeps the values of angles inside their ranges (I never tested this. So I don't know if this is correct) and there was a division by zero or something like that? Did you get a special error message?