I used similar method to craft my own type-safe algorithm and data structure library in C: https://github.com/mistivia/algds
Although it's a toy not for production, it's very interesting that the idea of traits/concept/typeclass just "emerge" out of the code, which made me suddenly understand why STL come into being.