A constraint-based approach to guarded algebraic data types (2007)

by V Simonet, F Pottier
Venue:ACM Transactions on Programming Languages and Systems