be either a port or a file descriptor.
If &rsquo;file&rsquo; is a file descriptor, any port for the descriptor is not
referenced for garbage collection purposes - it must remain valid
while operations are carried out on the descriptor.
</p>
<p>If &rsquo;file&rsquo; is a buffered port, buffering will be taken into account in
indicating whether a write can be made without blocking, either
because there is room in the buffer for a character, or because the
underlying file descriptor is ready for a character.  