the current `takebuf_array` tries to do this, in the case where `iobuffer.seekable = true`. it might be able to do so in this case also. alternatively, you can give the `PipeBuffer` your array to fill (although that isn't much different from accessing the `.data` pointer directly).

actually, i think if you just set `readable=false`, that should catch any of the logic errors that were making me uncomfortable with the original proposal