Regarding #3, my understanding is that each .result is a separate concrete type so returning different ones with #available won't work. Am I misunderstaning this?
Topic:
App Intents
SubTopic:
App Intents & Siri Q&A