How Does Free Make Any Functor a Monad? | Hacker News Reader