I’ve been interested in GADTs1 for quite some time now but I’ve had a hard time finding proper use-cases for them in my day-to-day programming tasks; this is not because GADTs aren’t useful, they are, but rather that my understanding of them has been limited. I often experience this when I’m learning more advanced features of programming languages and I’ve found that I personally find it easier to