do we have an umbrella term for all four kinds of declaration? so far i have been overloading the word “member” to mean both non-requirement nested declarations, and all nested declarations in general. but this is confusing.
The BNF in the language reference refers to them all as members, and I can't think of anything else to call them. If your uneasiness is due to the metaness of a protocol, so those members aren't really data structures, I can but agree.
i am using SymbolGraphGen’s taxonomy, it uses member to describe nested declarations (including nested types) that are not requirements, and requirement to describe, well, requirements. the distinction is actually quite useful, which is why i’m reluctant to use “member” to describe nested declarations in general.
aside: nested types can witness associatedtype requirements, so they really do have things in common with callable members.