Reading https://docs.swift.org/swift-book/GuidedTour/Compatibility.html it sounds like I'm allowed to update my app to Swift 5.1 even though my deployment target is iOS 10.0 - which includes iOS 12.4 which ships with the Swift 5.0 runtime - as long as I don't use opaque result types and other bullet points listed.
However, this behavior seems inconsistent with previous behavior "The
try? expression doesn’t introduce an extra level of optionality to expressions that already return optionals."
So how can I know my code will operate the same on Swift 5.0 and Swift 5.1? Or will my code type check/compile in a way that forces me to use Swift 5.0 syntax/semantics even with the Swift 5.1 runtime?