REF/TYP: indexes
The only non-trivial change here is changing `_id` from `_id = _Identity(object)` to `_id = object()`, which I found in profiling (https://github.com/pandas-dev/pandas/pull/40171#issuecomment-790219422) makes a non-trivial difference as the non-cython performance inches closer to the cython performance.

Share DTI/TDI/PI's _simple_new with Categorical.

Simplify DTI/TDI `__contains__`

Annotations.

Docstring follow-up to #40241