void compileAndCheck(
     VarargsMethod m1, VarargsMethod m2, TypeKind actual, ArgumentsArity argsArity)
     throws Exception {
   final JavaCompiler tool = ToolProvider.getSystemJavaCompiler();
   JavaSource source = new JavaSource(m1, m2, actual, argsArity);
   ErrorChecker ec = new ErrorChecker();
   JavacTask ct = (JavacTask) tool.getTask(null, fm, ec, null, null, Arrays.asList(source));
   ct.generate();
   check(source, ec, m1, m2, actual, argsArity);
 }