It might be worth warning the user that the dtype is being changed, also are you worried that allclose will return false if the array has nans?