Function reuse is just wishful thinking

This is the companion article for this talk.

Functors, monads, and such abstractions can be both very useful and extremely intimidating.

The purpose of this article is to introduce and justify them in a real life scenario, staying away from their more academic interpretations. It should allow readers to build a solid intuition for the problems they actually solve, and how they solve them.