Support recursive types and global unification in XML provider