> But then you want to introduce context collection. And then 50 other extensions. How to do that without special-casing every one of them?
You don't! An extension is an extension. A Generic server only needs to support the base protocol. Extensions are optional, not a requirement.