2 // This demonstrates the use of polymorphic datatypes parametrized
3 // by more than one type parameters
6 datatype Tree<a,b> = empty
8 | node(Tree<a,b>, b, Tree<a,b>)
11 instantiate datatype Tree<int,const char *>, Tree<int,int>;
13 typedef Tree<int,const char *> MyTree;
15 MyTree t = node(leaf(1), "abcde", empty);