Using something that requires you to understand a couple big ideas ("formal theory", as you put it) is usually a lot less complex than using something that doesn't, but requires you to remember a bunch of inconsistencies and exceptions to rules. It's easier to remember concepts than details.
I haven't used Scala, but it's certainly a more general rule. Prolog or Make, for example, are damn simple once you understand the model they're based on - they're just fundamentally different from (say) Java or Python. Make has a reputation of being weird and complicated* because people assume its complexity adds to whatever model they're familiar with, but actually it replaces it entirely. Once you understand make's underlying model, everything you need to know to use it would comfortably fit on one page.
* Except the GNU make extensions added to bend gmake into a more 'conventional' tool / make it work with the autotools. The original, non-GNU make is vastly simpler. (Same with gawk vs. regular awk.)