&gt; Usually these also come with some laws to help you reason about the typeclass, but looking purely at the language level it can help to remember that a Functor, Applicative, or Monad are nothing more than a type together with some functions with a certain signature.<p>Respecting type class laws isn&#x27;t optional: The laws are an intrinsic part of the abstraction&#x27;s definition, so if your instances don&#x27;t respect them, your code is simply wrong.