type の関数がありますMap Int String -> Proxy () a () Void IO b
。現在await
、取得した値を使用して何でも実行し、自分自身を再呼び出しします。State (Map Int String)
それを引数として渡すのではなく、使用するように変更したいので、使用するだけforever
で、すべてのブランチで再帰を覚えておく必要はありません。StateT
別のモナドと組み合わせるために使用する必要があることはわかりましたが、その型シグネチャのどこに属しているか、または のような関数が必要かどうかState
がわかりません。aと a の両方である関数の正しい型は?StateT
lift
get
State (Map Int String)
Proxy () a () Void IO b