CLN: docstrings, annotations, raising corner cases
PERF: lookup ._name and ._mgr_locs instead of .name and .mgr_locs.  The property lookups add up, e.g. mgr_locs is just shy of 2% of the benchmark discussed https://github.com/pandas-dev/pandas/pull/40171#issuecomment-790219422