Implementation

Problem: type checking for GATs is undecidable

Solutions:

  1. Don't work in full generality, write type checkers for -small types in specific GATs, or subclasses of GATs
  2. Make GATs use intensional equality types instead
  3. Egraphs??? github.com/ToposInstitute/emtt