anchor.diff:        }
   
         if (!_lookingAtExpression()) break;
  -      commaExpressions.add(_spaceListOrValue());
  +      commaExpressions.add(_spaceListOrExpression());
       } while (scanner.scanChar($comma));
   
       scanner.error("Expected $name.");
  
positive.code:     var expressions = [first];
      while (true) {
        if (!_lookingAtExpression()) break;
        expressions.add(_spaceListOrValue());
        if (!scanner.scanChar($comma)) break;
        whitespace();
      }
  
negative.code:   }
  
    MapExpression _map(Expression first, LineScannerState start) {
      var pairs = [new Pair(first, _spaceListOrExpression())];
  
      while (scanner.scanChar($comma)) {
        whitespace();
        if (!_lookingAtExpression()) break;
  
        var key = _spaceListOrExpression();
        scanner.expectChar($colon);
        whitespace();
        var value = _spaceListOrExpression();
        pairs.add(new Pair(key, value));
      }
  
  