One downside (compared to Matter) is that the types of joints are not intuitive. Often I had to trial and error my way into a good behavior. But once I got it right, things worked very well.
I enjoyed reading "It's Probably Time to stop recommending clean code". I was initially a bit torn by it: while I mostly agree with what qntm says, I debated the merits of pooping on someone's 13 year old book. Then I realized Robert Martin doesn't seem to have written a line of code professionally, while (making money of) preaching how people should write code. So now I'm fine. Go read the article. That book is awful.
It reminded me of the famous Sudoku Solver fiasco, from around the time of that book. Peter Norvig wrote an interesting tutorial on sudoku solving, while Ron Jeffries (one of the TDD gurus, who signed the "Agile manifesto" with Robert Martin) spent an embarrassing amount of time trying to apply TDD to the problem and failing miserably.
This whole thing reminded me a bit of this article about how your source code is worthless and what is the real value of programming:
The main value of a software company is the mapping of source code and problem space in the developer’s heads.
Virtue lies in giving things their proper place. To lack reason is to be inhuman. To rely on it solely is to be disembodied. This disembodied nature is the vice of the modern intellectual, in fact it separates them from past intellectuals just as it separates them from the physical world. Thinking only in the abstract, existing only in the abstract, the disembodied intellectual life becomes the destructive force of authoritarian modernism.