How far back is reasonable to go?
How much additional complexity do we tolerate in order to target hardware with diverging feature sets?
How much should we hold new software back in order to target older hardware that can’t do the same things without chewing through battery?
Frankly I think it’s fucking amazing what Apple has done here, especially when you compare against the Windows ecosystem (at least as of the last time I used it ages ago). The rate of adoption of OS upgrades is such that app developers can actually reasonably target new OS APIs without having to wait a decade for a critical mass of users.