Yipes... I just realized that the iterator-based validation in this PR does too much validation. It recursively descends into all child objects/arrays and validates all the way to leaf level. Manipulations of deeply nested variant values could easily take on a quadratic flavor!
Originally posted by @scovich in #7704 (comment)