I did not think about the what would happen with NaNs. You're right, that would fail.

The only reason I dislike warnings warnings is that pandas.Index objects are often upcast to 64-bits, which pretty much guarantees the user will get lots of warnings even if they didn't write any 64-bit values themselves.