anchor.diff:          bracketed: true, span: scanner.spanFrom(start));
     }
   
  -  Expression _spaceListOrValue() {
  +  Expression _spaceListOrExpression() {
       var first = _singleExpression();
       whitespace();
       if (!_lookingAtExpression()) return first;
  
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:           span: scanner.spanFrom(start));
      }
  
      var first = _spaceListOrExpression();
      if (scanner.scanChar($colon)) {
        whitespace();
        return _map(first, start);
  