anchor.diff:  
     Map _parse_flags(String flags) {
       return {
  -      'sign' : flags.contains('+') ? '+' : '',
  -      'padding_char' : flags.contains('0') ? '0' : ' ',
  -      'add_space' : flags.contains(' '),
  -      'left_align' : flags.contains('-'),
  -      'alternate_form' : flags.contains('#'),
  +      'sign': flags.contains('+') ? '+' : '',
  +      'padding_char': flags.contains('0') ? '0' : ' ',
  +      'add_space': flags.contains(' '),
  +      'left_align': flags.contains('-'),
  +      'alternate_form': flags.contains('#'),
       };
     }
   }
  
positive.code: //typedef Formatter PrintFormatFormatter(arg, options);
  
  class PrintFormat {
    static final RegExp specifier = RegExp(r'%(?:(\d+)\$)?([\+\-\#0 ]*)(\d+|\*)?(?:\.(\d+|\*))?([a-z%])', caseSensitive : false);
    static final RegExp uppercase_rx = RegExp(r'[A-Z]', caseSensitive: true);
  
    final Map<String, PrintFormatFormatter> _formatters = {
      'i' : (arg, options) => IntFormatter(arg, 'i', options),
      'd' : (arg, options) => IntFormatter(arg, 'd', options),
      'x' : (arg, options) => IntFormatter(arg, 'x', options),
      'X' : (arg, options) => IntFormatter(arg, 'x', options),
      'o' : (arg, options) => IntFormatter(arg, 'o', options),
      'O' : (arg, options) => IntFormatter(arg, 'o', options),
  
      'e' : (arg, options) => FloatFormatter(arg, 'e', options),
      'E' : (arg, options) => FloatFormatter(arg, 'e', options),
      'f' : (arg, options) => FloatFormatter(arg, 'f', options),
      'F' : (arg, options) => FloatFormatter(arg, 'f', options),
      'g' : (arg, options) => FloatFormatter(arg, 'g', options),
      'G' : (arg, options) => FloatFormatter(arg, 'g', options),
  
      's' : (arg, options) => StringFormatter(arg, 's', options),
    };
  
    String call(String fmt, var args) {
      var ret = '';
  
  
      var offset = 0;
      var arg_offset = 0;
  
negative.code: 
        var _arg_str = '';
        var _options = {
          'is_upper': false,
          'width': -1,
          'precision': -1,
          'length': -1,
          'radix': 10,
          'sign': '',
          'specifier_type': _type,
        };
  
        _parse_flags(_flags).forEach((var k, var v) {
          _options[k] = v;
        });
  
        // The argument we want to deal with
        var _arg = _parameter == null ? null : args[int.parse(_parameter)];
  
        // parse width
        if (_width != null) {
          _options['width'] =
              (_width == '*' ? args[arg_offset++] : int.parse(_width));
        }
  
        // parse precision
        if (_precision != null) {
          _options['precision'] =
              (_precision == '*' ? args[arg_offset++] : int.parse(_precision));
        }
  
        // grab the argument we'll be dealing with
  