We all love elegant simple solutions. We appreciate good clean design and we strive towards it. But I write code all day, and then I try to apply the same principles to mechanical systems in the real world, and I find that it's just a different design space. In the real world, you cannot stuff an infinite amount of functionality into a black box. You can't keep adding abstraction layers (or pipe fittings, adapters?) Inheritance is a meaningless concept. And you have to make compromises with euclidean geometry and existing structures. You cannot just put your house in a box and move it somewhere else. Or you can but it's not a best practice.
Just something to remember I guess.