A systematic translation of guarded recursive data types to existential types (2004)

by M Sulzmann, M Wang