В encoding/json неэкспортированная функция reflectValue передает все свои аргументы другой функции.В чем причина существования этой функции?
func(e *encodeState) reflectValue(v reflect.Value, opts encOpts)
{
valueEncoder(v)(e, v, opts)
}
Звонок для valueEncoder может быть сделан из любой точки, где вызывается displayValue. Какова мотивация этой дополнительной функции?