code: func (c ConversionFuncs) Add(fns ...interface{}) error {
  	for _, fn := range fns {
  		fv := reflect.ValueOf(fn)
  		ft := fv.Type()
  		if err := verifyConversionFunctionSignature(ft); err != nil {
  			return err
  		}
  		c.fns[typePair{ft.In(0).Elem(), ft.In(1).Elem()}] = fv
  	}
  	return nil
  }
docs: // Add adds the provided conversion functions to the lookup table - they must have the signature
  // `func(type1, type2, Scope) error`. Functions are added in the order passed and will override
  // previously registered pairs.