One-based or zero-based? Better be documented (in a way that doesn't promote hard-coding in the clients!)