anchor.diff:      return digits.reversed;
     }
   
  -  List<String> toDigits() {
  +  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
  
positive.code: // Obviously wrong if you look at how this counts.
  
  main(List<String> arguments) {
    int minBase = 2;
    int maxBase = 16;
    int minNDigits = 2;
    int maxNDigits = 4;
  
    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;
        for (int value = minValue; value <= maxValue; value++) {
          TedNumber tedNumber = new TedNumber(base, nDigits, value);
          print("Base $base, digits $nDigits: ${tedNumber.toForward()}:${tedNumber.toReversed()}");
        }
      }
    }
  
negative.code:       String digit = digits.elementAt(ctr);
        resultString.write(digit); // this writes left to right
      }
      String something = resultString.toString();
      return something;
    }
  
    String toForward() {
      List<String> digits = toDigits();
      String something = digitsToString(digits);
      return something; // this is a string representation of digits, forced to be nDigits in size, and can have leading 0's.
  
  //    return digits.toString();
    }
  
    String toReversed() {
      List<String> digits = new List<String>.from(toDigits().reversed);
      String something = digitsToString(digits);
      return something;
    }
  }