I expected to get uint64 ``` umax = np.iinfo(np.uint64).max np.array([umax]).dtype # <-- uint64, as expected np.array([0, umax]).dtype # <-- float64, surprising ``` There seems to be something special going on inference-wise around the int64 bound: ``` imax = np.iinfo(np.int64).max np.array([imax, umax]).dtype # <-- float64 np.array([imax+1, umax]).dtype # <-- uint64 ```