I’ve often seen Factorio compared to software development. I’m not a software dev, only a casual programming hobbyist at best. In that context, Gleba spoilage feels like error handling: if things go wrong, do this. If the line spoils, grab it and burn/convert-to-nutrients.
I feel like it’s more analogous to enum pattern. Your belt is just a array, and your items are enums that may be part of that enum
So to go back to gleba, nutrient belts are just
Vec<Result<Nutriment, Spoilage>>