nominal N nominal M type T[X, Y] = { // body } type A = T[N, M] // binding X -> N, Y -> M type B = T[M, N] // binding X -> M, Y -> N // converted to type A = ⟨ X -> N, Y -> M ⟩ { // body } type B = ⟨ X -> M, Y -> N ⟩ { // body }