ZuriHac - Generic Programming

Datatypes with the same structure are not equal in Haskell.

Using Generic we can abstract to the common structure