If we pass empty slice we will get infinite loop: https://github.com/tinylib/msgp/blob/3867c342e66c5f1e99020342f4f1b7f073cce5ec/msgp/circular.go#L20 Also we can have zero div error: https://github.com/tinylib/msgp/blob/3867c342e66c5f1e99020342f4f1b7f073cce5ec/msgp/circular.go#L39 Maybe we should restrict assign empty buffers for Reader?