That seems like a principled version of the "fallback" annotation, yeah, and we already have something like it for @available(swift, …) (a static check rather than a dynamic check). I'm a little worried about non-iOS platforms, though. Normal @available has that * in it very deliberately, to say that the declaration is available by default on all other platforms. This one might have to be hidden by default.