TYP: annotate matching dtypes
e.g. in `Index._get_fill_indexer` we can work out that `target.dtype` should match `self.dtype`.  It would be nice if we could get that into the annotation.  cc @simonjayhawkins

```
# current
def _get_fill_indexer(self, target: Index, ...):

# desired?
def _get_fill_indexer(self: Index[MyDtype], target: Index[MyDtype], ...):
```