anchor.diff:  // Obviously wrong if you look at how this counts.
   
   main(List<String> arguments) {
  -  int minBase = 2;
  -  int maxBase = 16;
  +  int minBase = 10;
  +  int maxBase = 10;
     int minNDigits = 2;
  -  int maxNDigits = 4;
  +  int maxNDigits = 2;
   
     for (int base = minBase; base <= maxBase; base++) {
       for (int nDigits = minNDigits; nDigits <= maxNDigits; nDigits++) {
         int minValue = 1;
         //int maxValue = ((pow(base, nDigits)) / 2.0).ceil();
         int maxValue = pow(base, nDigits) - 1;
  +      TedNumber tedNumber = new TedNumber(base, nDigits, minValue);
         for (int value = minValue; value <= maxValue; value++) {
  -        TedNumber tedNumber = new TedNumber(base, nDigits, value);
  +        // TedNumber tedNumber = new TedNumber(base, nDigits, value);
           print("Base $base, digits $nDigits: ${tedNumber.toForward()}:${tedNumber.toReversed()}");
  +        tedNumber.increment();
         }
       }
     }
  
positive.code:       String digit = digits.elementAt(ctr);
        resultString.write(digit); // this writes left to right
      }
      return resultString.toString();
    }
  
    String toForward() {
      List<String> digits = toDigits();
      return digitsToString(digits);
  
  //    return digits.toString();
    }
  
    String toReversed() {
      List<String> digits = new List<String>.from(toDigits().reversed);
      return digitsToString(digits);
    }
  }
negative.code:     return digits.reversed;
    }
  
    List<String> toDigits() { // change to valueToDigits()
      String digitsStringValue = value.toRadixString(base);
      List<String> digits = new List<String>.filled(nDigits, '0');
      if (digitsStringValue.length > nDigits) { // the number in the base is greater than the limit, so return "000" or whatever
  