public RegisterSpec withSimpleType() {
    TypeBearer orig = type;
    Type newType;

    if (orig instanceof Type) {
      newType = (Type) orig;
    } else {
      newType = orig.getType();
    }

    if (newType.isUninitialized()) {
      newType = newType.getInitializedType();
    }

    if (newType == orig) {
      return this;
    }

    return makeLocalOptional(reg, newType, local);
  }
Returns an instance that is identical to this one, except that the type bearer is replaced by
the actual underlying type (thereby stripping off non-type information) with any initialization
information stripped away as well.

@return {@code non-null;} an appropriately-constructed instance
android/android_framework/dex-maker/src/main/java/com/android/dx/rop/code/RegisterSpec.java