"you wouldn't be able to close file descriptor 3 unless there were no
3's in the system"
This doesn't read right to me, is it "unless" or "if". Or "no 3" is
short for "number 2"?No, it's correct: the double negative may be confusing. It means that if there are 3s in the system now, or might be in future, we cannot be sure that 3 can be garbage-collected, and therefore fd 3 might not be either. In Chibi this problem is solved by fds being wrapped in a record type that the user cannot create.