code: func (e PrimitiveElement) HasConflict() error {
  	if e.HasRecorded() && e.HasRemote() {
  		if !reflect.DeepEqual(e.GetRecorded(), e.GetRemote()) {
  			return NewConflictError(e)
  		}
  	}
  	if e.HasRecorded() && !e.HasRemote() {
  		return NewConflictError(e)
  	}
  	return nil
  }
docs: // HasConflict returns ConflictError if primitive element has conflict field.
  // Conflicts happen when either of the following conditions:
  // 1. A field is specified in both recorded and remote values, but does not match.
  // 2. A field is specified in recorded values, but missing in remote values.