Functions for working with the file system
type Metadata = <opaque>
type DirEntry = <opaque>
let read_dir : String -> IO (Array DirEntry)
let dir_entry : { path : DirEntry -> String, metadata : DirEntry -> IO Metadata, file_name : DirEntry -> String }
let metadata : { is_dir : Metadata -> Bool, is_file : Metadata -> Bool, len : Metadata -> Int }