Hi! In this post, we’ll build up monads from their components (functors and natural transformations), consider a monad in a specific category, and verify the monad laws in QuickCheck, which is interesting in itself because it involves modeling both types and values within values. It’ll be useful to be comfortable with categories, functors, and natural transformations, though we’ll define everythin
![Implementing a category-theoretic Hask-monad in Haskell](https://cdn-ak-scissors.b.st-hatena.com/image/square/85b45a6334d720e7082b2f48cc18f8760faefaf1/height=288;version=1;width=512/https%3A%2F%2Fmiro.medium.com%2Fv2%2Fresize%3Afit%3A1200%2F1%2A0t1RqW3TNIqShYpyBdqUIQ.png)