↑up
現状のコードでは、状態モナドからの値の取り出しのために、 以下のような関数を何か所も書いている:
getHoge = do st <- get return $ hoge st
これは、getHoge = hoge <$> get と書き直せる。
一行で書けるんだったら、getHoge なんてアクセサいらない気もするが、 putHoge との対応のために残す?(対称性にこだわるのはよからぬことやも)