Because the idea is that it should be transparent to the code. If you start doing that you get into mess like the "feature sniffing" BS JS does in browsers, IFDEFs etc...
So, which of these specifically seem to you to be "on areas were code would need to know the runtime behavior"?