Maybe hierarchical RFC names/aliases could look like:
    RFC.foo.bar.baz
Versioned names would look like:
    RFC.foo-0.bar-1.baz-3
Versions could be left off on the least significant elements:
    RFC.foo-0.bar-1.baz (OK)
    RFC.foo-0.bar.baz   (OK)
    RFC.foo-0.bar.baz-3 (NOT OK)
    RFC.foo.bar.baz     (OK)
Update != version change.
Obsolescence == version change.
Versioning should mostly be for each named component independent of the
rest.
Publishing a foo-1 that doesn't subsume/obsolete the others would lead to
    RFC.foo-1.bar-1
    RFC.foo-1.bar-1.baz-3
being new aliases for the old RFC.foo-0.bar-1 and RFC.foo-0.bar-1.baz-3
RFCs.  Which means: RFCs could have multiple names.
Nico
--