>>>
var map = {
  'af' : const {
    'd': 'd', // DAY
    'E': 'EEE', // ABBR_WEEKDAY
    'EEEE': 'EEEE', // WEEKDAY
    'LLL': 'LLL', // ABBR_STANDALONE_MONTH
  }
};
<<<
var map = {
  'af': const {
    'd': 'd', // DAY
    'E': 'EEE', // ABBR_WEEKDAY
    'EEEE': 'EEEE', // WEEKDAY
    'LLL': 'LLL', // ABBR_STANDALONE_MONTH
  },
};
>>>
  remote.then((_) => response.first)
      .whenComplete(response.close) // Close when complete.
      .then((sendPort) {
        sendReceive(sendPort, 'foo')
            .then((msg) {
              print('remote isolate handler received msg: $msg');
            });
      });
<<<
remote
    .then((_) => response.first)
    .whenComplete(response.close) // Close when complete.
    .then((sendPort) {
      sendReceive(sendPort, 'foo').then((msg) {
        print('remote isolate handler received msg: $msg');
      });
    });