```python ser = pd.Series(range(5)) ser2 = ser.astype("uint64") ii = pd.IntervalIndex.from_arrays(ser.values, ser2.values) >>> ii.right.dtype dtype('uint64') ``` We do some casting in _ensure_simple_new_inputs to check we have matching dtypes, but looks like we miss signed-vs-unsigned cases.