/* define valid recursive types */ let /* define a list */ type intlist = {hd: int, tl: intlist} /* define a tree */ type tree ={key: int, children: treelist} type treelist = {hd: tree, tl: treelist} var lis:intlist := intlist { hd=0, tl= nil } in lis end