I consulted with a company that had a two-part System Metaphor. Their system was both a Vat and a Cruise Ship.
The vat metaphor stems from the old question, “how do you know you’re not a brain in a vat, with all your perceptual neurons wired up to signals that simulate a real world?” In the context of the system, this is a standard Container metaphor system, with an inside and an outside. Since the system emphasized control, using the particular Brain in a Vat metaphor emphasized the tightness of the control over the interface and consequently what the interior of the system could “know.”
It’s been more than 25 years, so I’m fuzzy on the Cruise Ship metaphor, but it was about the roles played by the core object (the system was written in what I’ll call an extended version of Java). I remember there were Passengers, Crew, and Stewards, with different responsibilities and powers. Again, I forget the details but it seemed to me that the same code that would be considered *inside* the vat, was – from the point of view of the cruise ship metaphor – outside the ship.
From one point of view, who cares? We don’t need to consider the Vat and the Cruise Ship the *same* container. We can just ignore the insideness/outsideness implications of the cruise ship. But will our brains pay attention when we say, “Pay no attention to the part of the metaphor behind the curtain”? It did seem to me at the time that some occasional design confusion stemmed back to – or was influenced by – the metaphor.
Lakoff and Johnson talk about Coherent Metaphors as an attempt to talk about why some metaphors work togther and some don't. It seems to me an incomplete explanation.
When fixing a bug, it's worth asking if there was a metaphorical conflict that led you astray, or a new metaphor is needed, or a metaphor needs to be adjusted to make it less misleading (make a Temporary Noun Phrase the permanent metaphor?)