The fact is that `entry` is a tuple, hence the type of `entry[i]` depends on `i`: for `i < 5` it is `float`, while for `i == 6` it is `string`. The type checker, to perform its work, must be able to evaulate `i`` at compile time. If, say, ``i` was a constant, what you did would be ok.
The compiler lacks the sofistication to infer that, since `i` is 0, 1, 2,3 or 4, the type of `entry[i]` is `float` in any case.
