I just got done reading this post about protocol conformance https://www.massicotte.org/step-by-step-conforming-to-protocols/ by
@mattiemMatt Massicotte
I get that it's example code, but I don't understand why one would conform to Equatable via an extension instead of just conforming on the class itself? How come not just `class ImageModel: Equatable`? I see things like this a lot, even in Apple frameworks, so I'm trying to understand it.