Also convert OSVersion into a proper struct for better type-safety.
Please read the rustc-dev-guide chapter on Backend Agnostic Codegen.