type simpleCache … func newSimpleCache(clock clock.Clock, ttl time.Duration) *simpleCache { … } // given a key, return the transformer, or nil if it does not exist in the cache func (c *simpleCache) get(info []byte, dataCtx value.Context) *transformerWithInfo { … } // set caches the record for the key func (c *simpleCache) set(dataCtx value.Context, transformer *transformerWithInfo) { … } func keyFunc(dataCtx value.Context) string { … } // toString performs unholy acts to avoid allocations func toString(b []byte) string { … }