Automatically retrying system calls that may be interrupted with EINTR.
syscall f
repeatedly calls f
until it returns or raises an exception that
isn't Unix_error (EINTR, _, _)
.
syscall_result a f
repeatedly calls f a
until it returns a result that is
not Syscall_result.create_error EINTR
.