anchor.diff:      if (node.isThis()) {
         return currentClass.computeType(compiler);
       } else {
  -      fail(node, 'internal error: unexpected identifier');
  +      // This is an identifier of a formal parameter.
  +      return types.dynamicType;
       }
     }
   
  
positive.code:     compiler.reportWarning(node, new TypeWarning(kind, arguments));
    }
  
    Type analyzeNonVoid(Node node) {
      Type type = analyze(node);
      if (type == types.voidType) {
  
negative.code:           } else if (element.kind === ElementKind.FUNCTION) {
              return computeType(element);
            } else if (element.kind === ElementKind.FOREIGN) {
              return null;
            } else if (element.kind === ElementKind.VARIABLE
                       || element.kind === ElementKind.FIELD) {
              // TODO(karlklose): handle object invocations.
              return null;
            } else {
              fail(node, 'unexpected element kind ${element.kind}');
  