A type has an instance of a typeclass if it implements the methods of that typeclass.We can define these instances by hand, but Haskell can also do a lot of work for us by deriving implementations on its own.I’ll cover both of these options in the section below.