Designing a Tree Diff Algorithm Using Dynamic Programming and A* | Hacker News Reader