code: func (c *Converter) SetStructFieldCopy(srcFieldType interface{}, srcFieldName string, destFieldType interface{}, destFieldName string) error {
  	st := reflect.TypeOf(srcFieldType)
  	dt := reflect.TypeOf(destFieldType)
  	srcKey := typeNamePair{st, srcFieldName}
  	destKey := typeNamePair{dt, destFieldName}
  	c.structFieldDests[srcKey] = append(c.structFieldDests[srcKey], destKey)
  	c.structFieldSources[destKey] = append(c.structFieldSources[destKey], srcKey)
  	return nil
  }
docs: // SetStructFieldCopy registers a correspondence. Whenever a struct field is encountered
  // which has a type and name matching srcFieldType and srcFieldName, it wil be copied
  // into the field in the destination struct matching destFieldType & Name, if such a
  // field exists.
  // May be called multiple times, even for the same source field & type--all applicable
  // copies will be performed.