from pydantic import types
from typing import List
from typing import Type


def get_int_like_types() -> List[Type]:
    """Returns many int-like types from stdlib and Pydantic."""


    def _chk(x) -> bool:
        try:
            return issubclass(x, (int))
        except Exception:
            return False

    candidates = list(locals().values()) + [getattr(types, v) for v in types.__all__]
    int_like = [v for v in candidates if _chk(v)]
    return int_like