code: func (d *ResourceDiff) diffChange(key string) (interface{}, interface{}, bool, bool, bool) {
  	old, new, customized := d.getChange(key)
  
  	if !old.Exists {
  		old.Value = nil
  	}
  	if !new.Exists || d.removed(key) {
  		new.Value = nil
  	}
  
  	return old.Value, new.Value, !reflect.DeepEqual(old.Value, new.Value), new.Computed, customized
  }
docs: // diffChange helps to implement resourceDiffer and derives its change values
  // from ResourceDiff's own change data, in addition to existing diff, config, and state.