Annoyed? These are just fun things to do. Just like Quines. Of course anyone trying to introduce type-level computations into production code should be shot on sight (unless you're using a language where type-level "computations" are somehow expected... like Haskell), but that doesn't mean we shouldn't do it just for amusement. Just as the linked article ends: "Match is the only operation that we need for HLists. We’ll continue by defining comparisons, addition, multiplication, modulus, and exponentiation just for fun anyway."