Short but honestly good advise to rather pull boolean checks apart and re-group them as they make sense in the context of the given situation you’re checking for.
I started doing this when building an alert-check system for the company I’m working for right now, and it really helps organize what is a pre-condition, what a syntactical requirement, etc etc.
Vegetable is probably meant in the culinary use here, not in the biological one. And like with many such terms the two do overlap but not entirely.
I think it’s a bad analogy because it’ll distract some people.
I don’t think a lot of people think that mushrooms are vegetables in any sense. If you check culinary lists of vegetables, they don’t contain edible fungi.
I’d consider them vegetables for cooking purposes