async def METHOD_NAME(
    partition: PytypePartition,
    pytype: Pytype,
    pex_environment: PexEnvironment,
) -> CheckResult:
    roots_sources, requirements_pex, pytype_pex, config_files = await MultiGet(
        Get(
            SourceFiles,
            SourceFilesRequest(fs.sources for fs in partition.field_sets),
        ),
        Get(
            Pex,
            RequirementsPexRequest(
                (fs.address for fs in partition.field_sets),
                hardcoded_interpreter_constraints=partition.interpreter_constraints,
            ),
        ),
        Get(
            Pex,
            PexRequest,
            pytype.to_pex_request(interpreter_constraints=partition.interpreter_constraints),
        ),
        Get(
            ConfigFiles,
            ConfigFilesRequest,
            pytype.config_request(),
        ),
    )
    input_digest = await Get(
        Digest, MergeDigests((roots_sources.snapshot.digest, config_files.snapshot.digest))
    )
    runner = await Get(
        VenvPex,
        VenvPexRequest(
            PexRequest(
                output_filename="pytype_runner.pex",
                interpreter_constraints=partition.interpreter_constraints,
                main=pytype.main,
                internal_only=True,
                pex_path=[pytype_pex, requirements_pex],
            ),
            pex_environment.in_sandbox(working_directory=None),
        ),
    )
    result = await Get(
        FallibleProcessResult,
        VenvPexProcess(
            runner,
            argv=(
                *(("--config", pytype.config) if pytype.config else ()),
                "{pants_concurrency}",
                *pytype.args,
                *roots_sources.files,
            ),
            # This adds the venv/bin folder to PATH
            extra_env={
                "PEX_VENV_BIN_PATH": "prepend",
            },
            input_digest=input_digest,
            output_files=roots_sources.files,
            concurrency_available=len(roots_sources.files),
            description=f"Run Pytype on {pluralize(len(roots_sources.files), 'file')}.",
            level=LogLevel.DEBUG,
        ),
    )
    return CheckResult.from_fallible_process_result(
        result,
        partition_description=partition.description(),
    )