That all makes sense, but I bet there is some quirky workflow that we can think up that would violate this! Having said that, everything I try to think of has an easy (and preferable) workaround. Not sure I agree about get_value though, I don’t see anything particularly problematic about getting an input variable. E.g. if your model reads data from a file and you want to know what one of those variables is outside of the model.
Maybe this discussion is in scope for the v3 roadmap?