anchor.diff:            }
           });
         }
  +
         if (info is ClosureTypeInformation) {
           Iterable<FunctionElement> elements = [info.element];
           trace(elements, new ClosureTracerVisitor(elements, info, this));
  -      } else if (info is CallSiteTypeInformation) {
  +      } else if (info is DynamicCallSiteTypeInformation) {
           // We only are interested in functions here, as other targets
           // of this closure call are not a root to trace but an intermediate
           // for some other function.
           Iterable<FunctionElement> elements = info.callees
               .where((e) => e.isFunction);
  +        trace(elements, new ClosureTracerVisitor(elements, info, this));
  +      } else if (info is StaticCallSiteTypeInformation) {
  +        // This is a constructor call to a class with a call method. So we
  +        // need to trace the call method here.
  +        assert(info.calledElement.isConstructor);
  +        ClassElement cls = info.calledElement.enclosingClass;
  +        FunctionElement callMethod =
  +            cls.lookupMember(Compiler.CALL_OPERATOR_NAME);
  +        Iterable<FunctionElement> elements = [callMethod];
           trace(elements, new ClosureTracerVisitor(elements, info, this));
         } else {
           assert(info is ElementTypeInformation);
  
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:               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');
          }
  