let is_directory d = try (Sys.file_exists d) && (Sys.is_directory d) with | e -> error ~opn: "is_directory" ~fn: d ~e