handle 'other' filesystem objects correctly. I have now defined a file
to be a regular file, symbolic link (Unix only), socket (Unix only) or
named pipe. A folder is defined as just a directory. Character devices
and block devices (Unix only) are neither files nor folders.