William/Tom,
(1) Yes, looking into lens and re-factoring my current experimental project in lens will be my next iteration. For now, I plan not to spend time on it.
(2) Agreed. Not sure how I missed that.
(3) I see how foldM works now. I missed the point that foldM not only is a
`map` but also does a `sequence` after that. I got stuck earlier, thinking
I will end up with a list of state monads. The sequence steps executes
this monadic action.
But, how can I do a foldM in a state monad. Say, I need to map over a list of students and add up all their fees, can I get away not `evalState` inside the foldM step function?
Thanks. this is very exciting as I keep simplifying my code!