seek is inocent. open(:rw) is simply NYI.
In IO::Handle::open:
my $mode = $w ?? 'w' !! ($a ?? 'wa' !! 'r' );
In MoarVM/src/io/syncfile.c:
MVMObject * MVM_file_open_fh(MVMThreadContext *tc, MVMString *filename,
MVMString *mode) {
...
if (0 == strcmp("r", fmode))
flag = O_RDONLY;
else if (0 == strcmp("w", fmode))
flag = O_CREAT| O_WRONLY | O_TRUNC;
else if (0 == strcmp("wa", fmode))
flag = O_CREAT | O_WRONLY | O_APPEND;
else {
MVM_free(fname);
MVM_exception_throw_adhoc(tc, "Invalid open mode: %d", fmode);
}