anchor.diff:                print('${types.getInferredTypeOf(target).type} for ${target}');
               }
             }
  +        } else if (info is StaticCallSiteTypeInformation) {
  +          ClassElement cls = info.calledElement.enclosingClass;
  +          FunctionElement callMethod =
  +              cls.lookupMember(Compiler.CALL_OPERATOR_NAME);
  +          print('${types.getInferredSignatureOf(callMethod)} for ${cls}');
           } else {
             print('${info.type} for some unknown kind of closure');
           }
  
positive.code:     CallSiteTypeInformation info = new StaticCallSiteTypeInformation(
            types.currentMember, node, caller, callee, selector, mask, arguments,
            inLoop);
      info.addToGraph(this);
      allocatedCalls.add(info);
      updateSideEffects(sideEffects, selector, callee);
  
negative.code: 
      // Trace closures to potentially infer argument types.
      types.allocatedClosures.forEach((info) {
  
        void trace(Iterable<FunctionElement> elements,
                   ClosureTracerVisitor tracer) {
          tracer.run();
  