var sharedTranscoders … var rawTypeTranscodeFuncs … func transcodeRawTypes(v interface{ … } type transcoder … var noop … type transcoders … func (ts *transcoders) getTranscoder(rt reflect.Type) transcoder { … } func (ts *transcoders) getTranscoderLocked(rt reflect.Type) *transcoder { … }