2018 https://kubuszok.com/2018/different-ways-to-understand-a-monad/