One of the mainstays of advanced programming is the technique called datatype generic programming, where one writes a single traversal routine that works over many different data types. While this has been used in C++ for a long time, the real breakthrough came when Lämmel and Peyton Jones [1] introduced scrap your boilerplate (SYB) in Haskell. What was previously an untyped operational technique became a properly understood, statically typed technique. But there remained a problem: efficiency.
At least in theory, the call site of functions written in this style contains all of the information needed to instantiate the generic machinery into efficient code. The paper at hand shows how this theory can be made practical, which is a major engineering feat. The paper is very clear (at least for seasoned Haskellers), going through the required ideas in a pedagogically sound manner before giving all of the required formal details. As with most authors, the virtues of their method are explained, but unlike most, they explicitly talk about a few shortcomings.
For me, there are two outstanding questions: Why SYB and not one of the subsequent variants? Why no references to type-directed partial evaluation (TDPE) [2]? TDPE would seem to immediately solve the problem of selective traversal at other types.
This paper deserves its catchy title, filling in an important missing step in the SYB story. It is both well written and formally precise, and it solves an interesting problem. It is well worth reading.