Type-classes, as they’re known within the Scala language, have a wonderful place in library development. They make code open to extension, less verbose and simplify APIs. I’ve yet to find many other patterns in languages which do the same. A close second, depending on your point of view, being one of either the concept of a generator or decorator in the Python language (where the later is just function composition in disguise.) This post is highly opinionated; after reading if you disagree or feel I missed a point say so in the comments section.