code: func (s *Scheme) AddConversionFunc(a, b interface{}, fn conversion.ConversionFunc) error {
  	return s.converter.RegisterUntypedConversionFunc(a, b, fn)
  }
docs: // AddConversionFunc registers a function that converts between a and b by passing objects of those
  // types to the provided function. The function *must* accept objects of a and b - this machinery will not enforce
  // any other guarantee.