SE-0193 - Cross-module inlining and specialization

Yeah I'm moving towards @available.

Looking at the LibraryEvolution documentation (swift/LibraryEvolution.rst at main 路 apple/swift 路 GitHub), I think it's a good fit. It seems like many (all?) uses of @inlineable or @abiPublic will be accompanied by an @available anyway.

@available(1.2)
public func summonDemons()

@available(1.0)
@available(1.2, inlineable)
public func summonElves()

It's a flexible, parameterised attribute which can easily expand to other kinds of binary guarantees.