Now we do a lot of allocations per a request:
$ go test -bench BenchmarkClientSerialTyped -benchmem
BenchmarkClientSerialTyped-12 12250 94545 ns/op 898 B/op 16 allocs/op
There is no need for 0, but with 80-20 rule we could have a soft goal 8 allocs per a request.