anchor.diff:            });
           }
           // Return type
  +        String returnTypeString =
  +            "inferred: ${node['inferredReturnType']}, declared: ${node['returnType']}";
           row.addChild(renderSelfWith(() =>
  -          [_cell("return type"), _cell(node['returnType'], colspan: '4')]));
  +          [_cell("return type"), _cell(returnTypeString, colspan: '4')]));
           // Parameters
           if (node.containsKey('parameters')) {
             for (Map<String, dynamic> param in node['parameters']) {
  
positive.code:           row.addChild(renderSelfWith(() =>
              [_cell("code"), _cell(node['code'], colspan: '4', pre: true)]));     
          }
          break;
          // TODO(tyoverby): add more cases
      }
  
negative.code:       case 'function':
        case 'closure':
        case 'constructor':
        case 'method':
          // Side Effects
          row.addChild(renderSelfWith(() =>
            [_cell("side effects"), _cell(node['sideEffects'], colspan: '4')]));
          // Modifiers
          if (node.containsKey('modifiers')) {
            (node['modifiers'] as Map<String, bool>).forEach((k, v) {
  