anchor.diff:        Expression defaultValue;
         if (scanner.scanChar($colon)) {
           whitespace();
  -        defaultValue = _spaceListOrValue();
  +        defaultValue = _spaceListOrExpression();
         } else if (scanner.scanChar($dot)) {
           scanner.expectChar($dot);
           scanner.expectChar($dot);
  
positive.code:   }
  
    MapExpression _map(Expression first, LineScannerState start) {
      var pairs = [new Pair(first, _spaceListOrValue())];
  
      while (scanner.scanChar($comma)) {
        whitespace();
        if (!_lookingAtExpression()) break;
  
        var key = _spaceListOrValue();
        scanner.expectChar($colon);
        whitespace();
        var value = _spaceListOrValue();
        pairs.add(new Pair(key, value));
      }
  
  
negative.code: 
      var expressions = <Expression>[];
      while (!scanner.scanChar($lbracket)) {
        expressions.add(_spaceListOrExpression());
        whitespace();
        if (!scanner.scanChar($comma)) break;
      }
  