Why are legacy files driving SDK 16 examples?

I could use some clarity on the legacy drivers/files, nrf,driving example applications inside SDK 16. Is it just too much work to clean up the examples with current drivers? Are all the legacy files just hooked into the current drivers/files, nrfx, thorugh many many many defines to keep current. I am just fuzy on the structure of the nrf and nrfx drivers, when to use what?