Understanding monads | Dark Hacker News