Cats is a library which provides abstractions for functional programming in the Scala programming language.