Note that without a port seek capability, which I believe gets too deep into an implementation to be in the remit of this "basic" mostly wrappers SRFI, vs. the Advanced Filesystem Operations you're working up, this is enough to back up files, but not properly restore them if they've got holes. Which is more common than you might think.
I'm surprised. The only consistently holey files I remember are from odbm (the ancient V7 implementation of dbm). I see though that they are used in some virtual disk formats, which makes sense.
Should we return the 4 chase? optional arguments? They're also quite trivial, you just have to dispatch off the chase? flag and make a call to a different POSIX function, or in one case change an argument to the standard function. They are set-file-owner, set-file-group, set-file-timespecs, and file-info.
-1 except for file-info. I'm pretty sure the other settings are irrelevant to a symlink: I know Apache only respects symlinks if symlink uid == file uid, but that's a narrow use case. So we should just always chase. Of course I'm open to being convinced otherwise.
Might be worth waiting until I can review all the optional arguments for when [foo] [bar] should be [foo [bar]]. That won't take long.