uint GetTypeReferenceInternId(ITypeReference typeReference) {
Contract.Requires(typeReference != null);
IModifiedTypeReference/*?*/ modifiedTypeReference = typeReference as IModifiedTypeReference;
if (modifiedTypeReference != null)
return this.GetModifiedTypeReferenceInternId(modifiedTypeReference.UnmodifiedType, modifiedTypeReference.CustomModifiers);
return this.GetTypeReferenceInterendIdIgnoringCustomModifiers(typeReference);
}