Ah, I think that's a bug. Currently the file gets created in `open` if `w` or `a` are passed, and then written to here.
Is the correct behaviour to not make any API calls in `open`, and then both create the file (if needed) and write to it in `sync`?