code: final TypeCheck makeTypeCheck(AbstractCompiler compiler) {
      return new TypeCheck(
              compiler,
              compiler.getReverseAbstractInterpreter(),
              compiler.getTypeRegistry(),
              topScope,
              typedScopeCreator)
          .reportUnknownTypes(options.enables(DiagnosticGroup.forType(TypeCheck.UNKNOWN_EXPR_TYPE)))
          .reportMissingProperties(
              !options.disables(DiagnosticGroup.forType(TypeCheck.INEXISTENT_PROPERTY)));
    }
docs: Create a type-checking pass.