F datatypes
Add algebraic datatypes in System F (along with an environment to store them). We implement a translation from ML to System F in two passes : the first pass goes from ML to a nominal representation of System F, the second goes from this to a representation using De Bruijn indices. (cc @gasche)