anchor.diff:  
       // Trace closures to potentially infer argument types.
       types.allocatedClosures.forEach((info) {
  +
         void trace(Iterable<FunctionElement> elements,
                    ClosureTracerVisitor tracer) {
           tracer.run();
  
positive.code:               print('${types.getInferredTypeOf(target).type} for ${target}');
              }
            }
          } else {
            print('${info.type} for some unknown kind of closure');
          }
  
negative.code:     CallSiteTypeInformation info = new StaticCallSiteTypeInformation(
            types.currentMember, node, caller, callee, selector, mask, arguments,
            inLoop);
      // If this class has a 'call' method then we have essentially created a
      // closure here. Register it as such so that it is traced.
      if (selector != null && selector.isCall && callee.isConstructor) {
        ClassElement cls = callee.enclosingClass.declaration;
        if (cls.callType != null) {
          types.allocatedClosures.add(info);
        }
      }
      info.addToGraph(this);
      allocatedCalls.add(info);
      updateSideEffects(sideEffects, selector, callee);
  