Law sometimes seems to have the most in common with machine learning techniques like neural networks: start with something simple, evolve it in small steps based on potentially-flawed fitness functions, hope you don't get stuck in a local maximum, and in the end end you have a tangled mess that more or less gets the job done but which nobody can fully understand or explain. :)
More seriously, I think abstract thinking and similar methods do help in law and many other fields, but they complement knowledge of those fields, rather than replacing it. You still have to understand the details of any field you want to work in. However, abstract thinking helps greatly when attempting to apply that knowledge.
The article I originally linked to, https://rwxweb.wordpress.com/2012/01/31/teaching-algorithmic... , mentioned an applicant for a CS job who didn't know how to sort words because they'd only memorized an algorithm to sort numbers. The same issue would apply to a lawyer who doesn't know how to deal with a stolen meal because the examples they'd worked with only dealt with stolen cars, and (hypothetically/rhetorically/probably-untrue-in-reality) because the law doesn't specifically talk about stolen meals. (Feel free to provide a more relevant example; I don't have the expertise to supply a higher-quality analogy.) And on the flip side of that, just as a programmer ought to know some of the quirks that apply to strings but not numbers (such as dealing with locale-specific sorting), a lawyer also needs to know the specific quirks that apply to stolen meals versus stolen cars (such as "theft of services"); otherwise, in both cases, they'd wind up with faulty generalizations. So, experts in a field need both the abstract-thinking skills that apply to any field and the knowledge of the specific details of their chosen field.