DocC symbol disambiguation for multiple compiler versions, illustrated with 'sending' parameters

the best you can do today is to #if #else the entire MyType declaration, including its attached doccomment.

this problem is not unique to multiple compiler versions, it also affects documentation for symbols that differ across platforms, and even cross-platform API that references types that have different ABI on different platforms.

if i were the designer of DocC, i would have gone with a disambiguation syntax based around uttering one of the identifier tokens in the relevant declarations, so instead of using an FNV-1 hash, you could write something like

/// - ``f(_:) (Void)``
/// - ``f(_:) (Int)``

or perhaps

/// - ``f(_:) <async>``
/// - ``f(_:) (Int)``

where () would select a sufficiently unambiguous type identifier (Int, Void) and <> would select a sufficiently unambigious keyword or attribute token (@escaping, @Sendable, sending, async). perhaps someday this could see the light of day as a Unidoc extension, or even become part of DocC itself.