code: func getMapAndMergeKeyValueByIndex(index int, mergeKey string, listOfMaps []interface{}) (map[string]interface{}, interface{}, error) {
  	m, ok := listOfMaps[index].(map[string]interface{})
  	if !ok {
  		return nil, nil, mergepatch.ErrBadArgType(m, listOfMaps[index])
  	}
  
  	val, ok := m[mergeKey]
  	if !ok {
  		return nil, nil, mergepatch.ErrNoMergeKey(m, mergeKey)
  	}
  	return m, val, nil
  }
docs: // getMapAndMergeKeyValueByIndex return a map in the list and its merge key value given the index of the map.