I guess the initial intention of Dart wasn't to have that many access modifiers. But then, the developers started using it and they wanted more options. A change of _ to private would make sense imo but it would also lead to a big migration effort. Best case for me would be if they allowed both variants.