[Haskell-cafe] unexpected behavior from filterM doesFileExist =<< getDirectoryContents