これは、 Haskell 関数内の変数の定義で尋ねられた質問の再構成です。
先頭が次のような関数があります。
recursiveLs :: FilePath -> IO [FilePath]
recursiveLs dir =
do
folderExists <- doesDirectoryExist dir
if folderExists
then ...
folderExists
問題は、アクションで型を割り当てる前に、型を明示的に宣言するにはどうすればよいかということです。