You can either have software quality or you can have pointer arithmetic, but you cannot have both at the same time.