We need them so you can pick and choose the one that works best for your current project.

But that points to an important aspect of the platforms-game: The interface between the runtime and everything else should be standardized, to support true pick-and-choose.