code: func (v retainKeysStrategy) MergeType(e apply.TypeElement) (apply.Result, error) {
  	// No merge logic if adding or deleting a field
  	if result, done := v.merge.doAddOrDelete(&e); done {
  		return result, nil
  	}
  
  	elem := map[string]apply.Element{}
  	for key := range e.GetLocalMap() {
  		elem[key] = e.GetValues()[key]
  	}
  	return v.merge.doMergeMap(elem)
  }
docs: // MergeMap merges the type instances in a TypeElement into a single Result
  // keeping only the fields defined locally, but merging their values with
  // the remote values.