This would be less complicated if the ReturnTypeRequirement were not a
nested class. That should probably be changed in a prior patch.
Implement the llvm-style rtti for ConceptReference -> TypeConstraint.
The generated NodeIntrospection relies on the ability to use dyn_cast
with classes to provide locations.
clang-tidy: warning: namespace 'concepts' not terminated with a closing comment [llvm-namespace-comment]
not useful