anchor.diff:          }
       })();
       $dart$core.int get hashCode => integer;
  -    Char get predecessor => new Char(integer - 1);
  -    Char get successor => new Char(integer + 1);
  -    Char neighbour([$dart$core.int offset]) => new Char(integer + offset);
  -    $dart$core.int offset([Char other]) => integer - other.integer;
  -    $dart$core.int offsetSign([Char other]) => (new Integer(offset(other))).sign;
  -    $dart$core.bool operator >(Char other) => integer > other.integer;
  -    $dart$core.bool operator <(Char other) => integer < other.integer;
  -    $dart$core.bool operator >=(Char other) => integer >= other.integer;
  -    $dart$core.bool operator <=(Char other) => integer <= other.integer;
  +    Character get predecessor => $package$characterFromInteger(integer - 1);
  +    Character get successor => $package$characterFromInteger(integer + 1);
  +    Character neighbour([$dart$core.int offset]) => $package$characterFromInteger(integer + offset);
  +    $dart$core.int offset([Character other]) => integer - other.integer;
  +    $dart$core.int offsetSign([Character other]) => (new Integer(offset(other))).sign;
  +    $dart$core.bool operator >(BaseCharacter other) => integer > other.integer;
  +    $dart$core.bool operator <(BaseCharacter other) => integer < other.integer;
  +    $dart$core.bool operator >=(BaseCharacter other) => integer >= other.integer;
  +    $dart$core.bool operator <=(BaseCharacter other) => integer <= other.integer;
   }
   $dart$core.String $package$className([$dart$core.Object obj]) => $ceylon$interop$dart.runtimeType(obj).toString();
   
  
positive.code: 
  Set get digitZeroChars => $package$digitZeroChars;
  
  class Char implements dart$$Object, Comparable, Enumerable {
      Char([$dart$core.int integer]) {
          this.integer = integer;
          if ((this.integer > 1114111) || (this.integer < 0)) {
              throw new OverflowException(("" + this.integer.toString()) + " is not a possible Unicode code point");
  
negative.code:     }
      $dart$core.int integer;
      $dart$core.String toString() => (new $dart$core.String.fromCharCode(integer)).toString();
      Character get lowercased => $package$characterFromInteger(($ceylon$interop$dart.dartString(String.instance(toString()).lowercased).runes.elementAt(0) as $dart$core.num).toInt());
      Character get uppercased => $package$characterFromInteger(($ceylon$interop$dart.dartString(String.instance(toString()).uppercased).runes.elementAt(0) as $dart$core.num).toInt());
      Character get titlecased => uppercased;
      $dart$core.bool get lowercase => !(uppercased == this);
      $dart$core.bool get uppercase => !(lowercased == this);
      $dart$core.bool get titlecase => uppercase;
  