var AllocatorPool … type Allocator … var _ … // Allocate reserves memory for n bytes only if the underlying array doesn't have enough capacity // otherwise it returns previously allocated block of memory. // // Note that the returned array is not zeroed, it is the caller's // responsibility to clean the memory if needed. func (a *Allocator) Allocate(n uint64) []byte { … } type SimpleAllocator … var _ … func (sa *SimpleAllocator) Allocate(n uint64) []byte { … }