listFilesWithExtension :: String -> FilePath -> IO [FilePath]
listFilesWithExtension ext dir = do
  files <- getDirectoryContents dir
  return $ map (dir </>) $ filter ((== ext) . takeExtension) files
listFilesWithExtension :: String -> FilePath -> IO [FilePath]
listFilesWithExtension ext dir = do
  files <- getDirectoryContents dir
  return $ map (dir </>) $ filter ((== ext) . takeExtension) files
listFilesWithExtension ext dir = do
  files <- getDirectoryContents dir
  return $ map (dir </>) $ filter ((== ext) . takeExtension) files