Out of curiosity: My understanding has been that type instabilities are related to the compiler not being able to predict the types of variables based on input types, not variables simply (and predictably) changing types during program execution.
Should the compiler ideally be able to catch the case we're seeing here, and predict that bar should be a float? Or is this case particularly hard for some reason?
