io.ReadAll cannot "recover" from EOF just like an Decoder cannot.
This EOF is smth that happens during _reading_ and both, io.ReadAll
and json.Decoder do the actual read via identical methods.
If your io.Reader allows reading up to EOF and than reading
more (no idea how this is going to happen, but let's assume
your underlying Reader somehow allows this) then it doesn't
matter.
io.ReadAll reads until EOF, forget about "partial reads".
Decoding can be done on the read stuff. I think this is
clearer.
Once your io.Reader signals EOF you have to find some
way to read more (???) or reset the Reader and this has
nothing to do with _how_ you read from that Reader.
V.