readDirF :: F FilePath (FilePath, IOError ⊕ [String])
readDirF accepts a directory path as input,
reads the directory, and outputs the directory entries.
Right entries if the
read was successful, or Left err if an error occurred.
Reading files: readFileF.
Writing files: writeFileF.
Performing other Haskell 1.2 IO operations: haskellIOF et al.