Programmers, modelers, and animators are not like normal people. Their brains are very complex, they see connections where others may not, by default their tools treat array and frames indices as 0…n, and the visual model is usually just a somewhat simple representation of the complex systems of equations and tangled interactions going on underneath.
They are also very comfortable with abstract thinking, and using logical operators like AND, OR, NOT, XOR, NAND, and NOR. They produce code that creates testable, deterministic cases — black and white only — no gray allowed.
In comparison, most people do not have to deal with such an environment. Many people do not know that 90 degrees is East. And if you look at a compass, most just have North at the top. So is that 0 degrees, 360 degrees, or both? For an animator, is that frame 0, frame 360, or both?
If left to their own devices, you’ll often see developers internally use 0…n. The interface to their low-level model might require the same. In the case of this compass model, their first thought was probably about most optimized performance, smallest footprint, and shortest time to delivery.
Why worry about sticking with 0…n when the only people that are going to using the model are other developers who are perfectly comfortable with it?