From "Hello, world!" to "Hello, monad!" Repo containing all code from the blog post series: Part I Part II Part III