Here is a project that walks through the implementation of Maybe, Either, and List monads with snap blocks:
https://snap.berkeley.edu/project?username=boo&projectname=Monads%20%28see%20inside%29
Monads are notorious for being hard to understand, but they really aren’t that bad! In this project you see real, concrete constructions along with practical examples.
