code: def check_value_change(cls, old, new):  # @NoSelf
          
          return (type(old) != type(new) or
                  isinstance(old, wrappers.ObsWrapperBase) and old != new)
docs: Checks whether the value of the property changed in type
          or if the instance has been changed to a different instance.
          If true, a call to model._reset_property_notification should
          be called in order to re-register the new property instance
          or type