This is so true! I had troubles with LangChain once and dived into its codebase and what I saw there was conplete horror and lack of some overall driving direction - layers of new functionalities added as if/else statements were intermingled with some polymorphism here and there.
Its how things are today - beautiful on the outside but ugly on the inside. Probably because everyone crunches hard to ship more than competitors and developer facing DX is prioritized over maintainer facing DX unfortunately...