This has two major changes: (1) If the same ranges are used for two sets, they'll be validated twice. That's not so bad. (2) The Clang side now has static constructors. That's...kinda bad, right? I'm not sure what I want to do about it, though. http://llvm-reviews.chandlerc.com/D1534