Also, like where else would the indices live? They are in memory to make going to definition, source, analysis etc fast. It's not even using java objects for these, so a feature-equivalent solution would be similarly "fat".
Hackers are often exceptionally good at optimizing the hidden parts no one give a shit until everything crumble under systemic slowness, but they often also are very bad at designing even a decent UX for everything else regarding in-your-face aspects.
100% true.
Also, the problem I have with these magic thingies is that I don't know what to do if the magic stops working. With tools that just does one thing, I can easily figure out the point of failure and fix it.