--- /dev/null
+# Stubs for bisect\r
+\r
+from typing import Any, Sequence, TypeVar\r
+\r
+_T = TypeVar('_T')\r
+\r
+# TODO uncomment when mypy# 2035 is fixed\r
+# def bisect_left(a: Sequence[_T], x: _T, lo: int = ..., hi: int = ...) -> int: ...\r
+# def bisect_right(a: Sequence[_T], x: _T, lo: int = ..., hi: int = ...) -> int: ...\r
+# def bisect(a: Sequence[_T], x: _T, lo: int = ..., hi: int = ...) -> int: ...\r
+#\r
+# def insort_left(a: Sequence[_T], x: _T, lo: int = ..., hi: int = ...) -> int: ...\r
+# def insort_right(a: Sequence[_T], x: _T, lo: int = ..., hi: int = ...) -> int: ...\r
+# def insort(a: Sequence[_T], x: _T, lo: int = ..., hi: int = ...) -> int: ...\r
+\r
+def bisect_left(a: Sequence, x: Any, lo: int = ..., hi: int = ...) -> int: ...\r
+def bisect_right(a: Sequence, x: Any, lo: int = ..., hi: int = ...) -> int: ...\r
+def bisect(a: Sequence, x: Any, lo: int = ..., hi: int = ...) -> int: ...\r
+\r
+def insort_left(a: Sequence, x: Any, lo: int = ..., hi: int = ...) -> int: ...\r
+def insort_right(a: Sequence, x: Any, lo: int = ..., hi: int = ...) -> int: ...\r
+def insort(a: Sequence, x: Any, lo: int = ..., hi: int = ...) -> int: ...\r