code: func partitionPrimitivesByPresentInList(original, partitionBy []interface{}) ([]interface{}, []interface{}) {
  	patch := make([]interface{}, 0, len(original))
  	serverOnly := make([]interface{}, 0, len(original))
  	inPatch := map[interface{}]bool{}
  	for _, v := range partitionBy {
  		inPatch[v] = true
  	}
  	for _, v := range original {
  		if !inPatch[v] {
  			serverOnly = append(serverOnly, v)
  		} else {
  			patch = append(patch, v)
  		}
  	}
  	return patch, serverOnly
  }
docs: // partitionPrimitivesByPresentInList partitions elements into 2 slices, the first containing items present in partitionBy, the other not.