anchor.diff:    NativeCode(this.code);
   }
   
  -abstract class NumberLiteral<T> extends Expression {
  +abstract class NumberLiteral<T extends num> extends Expression {
     static NumberLiteral create(num value) {
       if (value is double) {
         return new DoubleLiteral(value);
  
positive.code: 
    bool get isSimpleString => components.every((x) => x is String);
    String asSimpleString() => components.join();
  }
  
  class NativeCode extends Expression {
  
negative.code:   final int value;
  
    HexadecimalLiteral(this.value);
    HexadecimalLiteral.forString(String input) : this(int.parse(input, radix: 16));
  
    String asHex() => "0x${value.toRadixString(16)}";
  }
  