Here are some links I have been collecting on the topic of monads. I have not read all of them, only have I skim read the first bits. The first article explains some issues people present when they give their perspective on how monads should be best understood.
Here is jamiely’s haskell-draughts repo. I am working on a checkers game too and was referencing this.
Here is an example of move checking in checkers;
More on monads;
I also need to learn how to parse strings (commands) in Haskell
this looks neat too, a course on Haskell http://shuklan.com/haskell/
I think one of the more on monad links has a link to an appendix of monad tutorials too which could make an alright read. Some of the tutorials I have posted here come from it actually.
It seems like a fair background in mathematics is required to really get much out of monads however.