Chapter 6. Flavors of Genericity, Part 2: Generic Enough?
How generic is a generic function, really? The answer can depend as much on its implementation as on its interface, and a perfectly generalized interface can be hobbled by simple—and awkward-to-diagnose—programming lapses.
There is a subtle genericity trap in the following functions. What is it, and what's the best way to fix it?