The Intermediate Representation (IR) resolves to a tree of Descriptors, e.g.:
EnumDescriptor, which hasEnumVariantDescriptors which may haveFieldDescriptorsRecordDescriptorwhich haveFieldDescriptors.ObjectDescriptorwhich haveMethodDescriptors, which may haveArgDescriptors.
These represent the concrete types and syntactic structures within those types.