tl;dr:"json-diff already exists, and it’s pretty good. I wanted something similar for programming languages. After a huge amount of experimentation, I have something that works. In this post, I’ll show you how it works. I won’t show the many, many dead ends and failed designs along the way. We can pretend that I got it right first time."