The Typelevel Cats library is essential however, how often do you make use of it?
How to write like Cats
For many Scala programmers the Typelevel Cats library is essential. It is an extensive grab-bag of useful functionality. However, several Scala developers tell me they don't use it because it's unnecessary and overly complicated. I hope to dispel this by introducing the benefits of a core pattern Cats employs, the type class.
We'll live-code our way from classic subtype polymorphism to ad-hoc polymorphism Scala style. Then we'll get rid of all that code and replace it with a few lines of Cats to show how easy and useful it can be.