Excellent post @stortebeker!
IMHO the web created by stacking elements and associated functions to create resilience is one of the most vital parts of design.
If I may add something... Consider the dimension of time when designing your stacks. Time stacking allows us to expand our design functionality and forge even more layers of resilience in that way.
A simple example of this would be planting fast growing tree species as a pioneer to provide shade and shelter in which secondary succession is established. The pioneers are then cut back after several years and used as timber or firewood.
Awesome @qholloi, thank you for this great example! Indeed, time is an important factor that's too easily ignored. Certain systems can be put together almost immediately, while others need time to get established. So it is up to us to make use of the functions of quick elements, like the pioneer trees in your example, to help us get the slower ones working.
Let me see if I can apply the same idea in the kitchen: For example, by using the hot water drained from pasta to make the base of a soup, I'm not only taking advantage of the starchy water, but the fact that it's just been boiling. Okay, not exactly the same, but I think the idea is to design for an element to be not just in the right place, but to be there at the right time, and for the duration it's needed.
I appreciate you bringing up this conceptual exercise! This helps us reveal more valuable information hidden behind an idea.