This is a prototype implementation of a type inference engine that supports GADTs (i.e. generalized algebraic data types) by using choice types [1].
- Sheng Chen and Martin Erwig. Principal type inference for GADTs. In Proceedings of the 43rd Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages (POPL '16). pages 416–428, 2016.