Another reason for D bit fields are the various C to D and C++ to D translators. It's an unreasonable burden on those translation developers to account for all the different undocumented bit field layout algorithms.