readall does not seek to 0, thus calling readall on a buffer position > 0 will not return the whole IO buffer (file, string), just the rest.
In a normal world the method name should be ReadToEnd.
See #930 implemented in branch rurban/readall-gh1084
[docs] Updated StringHandle.readall and FileHandle.readall docs
They read just the rest of the buffer if tell > 0. [GH #1084]
This is not what you would expect, but perl6 wanted it this way.
See GH #930 for the discussion.
In release 6.7.0