In the case that an index is a constant value, but in bounds it may incorrectly say nothing changed. This may be incorrect if there is no signed int type defined to calculate the max value for the index already. Calling into type_mgr->GetRegisteredType inserts the type if it doesn't already exist, so we need to test around this call for modification.