anchor.diff:      dirty = true;
     }
   
  -  void setMode(bool release) {
  -    if (release != !dev) {
  -      dev = !release;
  +  void setMode(VersionKind value) {
  +    if (value != level) {
  +      level = value;
         dirty = true;
       }
     }
  
positive.code: 
    if (increment || brokeAnything)
      sdk.increment(brokeAnything);
    sdk.setMode(release);
  
    if (increment || brokeFramework)
      framework.increment(brokeFramework);
    framework.setMode(release);
  
    if (increment || brokeTest)
      test.increment(brokeTest);
    test.setMode(release);
  
    if (increment || brokeDriver)
      driver.increment(brokeDriver);
    driver.setMode(release);
  
    sdk.write();
    framework.write();
  
negative.code:   void write();
  
    @override
    String toString() => version.join('.') + (level == VersionKind.dev ? kDev : '');
  }
  
  class PubSpecVersion extends Version {
  