@def, I'm curious about your example here: [https://github.com/def-/nim-unsorted/blob/master/wcl.nim](https://github.com/def-/nim-unsorted/blob/master/wcl.nim)
When you cast to `string` with
var
size = 4096
buf = cast[ptr string](alloc0(size))
Doesn't a `string` have length, cap, and data? So the available size for `data`
must be less than 4096. So wouldn't we read past allocated memory with
size = file.readBuffer(buf, 4096)
?
