adamc@241: val id1 = fn n : int => n adamc@241: val id2 = fn n => id1 n adamc@241: adamc@241: val pair1 = fn (t1 ::: Type) (t2 ::: Type) (x1 : t1) (x2 : t2) => (x1, x2) adamc@241: val pair2 = fn (t1 ::: Type) (t2 ::: Type) (x1 : t1) (x2 : t2) () => pair1 x1 x2 adamc@242: adamc@242: val id3 n = id2 n adamc@242: val id4 n : int = id3 n adamc@242: val id5 (n : int) = id4 n adamc@242: val id6 (n : int) : int = id5 n adamc@242: adamc@242: val id1 (t ::: Type) (x : t) = x adamc@242: val id2 (t ::: Type) (x : t) : t = id1 x