this part of the standard is not fully thought through
I agree... and this terrifies me, given that EINTR is mentioned in the man page for close(2) back in BSD Net/2, over 20 years ago.
this terrifies me
Now think about all the libraries and application that end up calling close() and fclose().
Add a few abstraction layers and good luck figuring out if closing a file is safe in a multithreaded Java app.
I think in this case, Occam's razor says "this part of the standard is not fully thought through".