Also, if you have strong types and make a distinction between signed and unsigned integers, and your documentation clearly states that vectors are indexed by unsigned integers, then iterating over the indices of a vector should _not_ yield signed integers. Particularly if there are no cast operators in the language. No, this is not a hypothetical. #facepalm