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.