What prevents binaries from asking the OS about the abilities of the hardware, and run code accordingly? I mean, other operating systems manage to have "fat" binaries that contain entirely different architectures, but on Amiga it is not even possible to have one binary for variations within one architecture.