I'm curious what you think the problems are that unbounded indices causes? Unsigned overflow is well defined in C++, so I don't see the problem here. AFAIK, the only issue would be with requiring power of 2 sizes.
Power of 2 requirement stands, though.
HN ate my asterisks. s/231/2^31/