If your goal is to beat another guy in a cage, you may be right. But many "self-defence" situations in the real world rely much more on your approach and behavior. De-escalating a situation verbaly is the prefered way of "fighting" your opponent, at least to me.
If you want to fight for real, look at aggressive combat styles, like Krav Maga or Systema, which try to deal as much dammage as possible, in the shortest ammount of time, without considering the concequences to the opponent (= possible death). By the way, these are banned in UFC, beacuse they are too dangerous to the opponent. UFC is still a spectator sport.
Note: I'm an ex aikido practitioner and a current krav maga practitioner.
I also looked at Scala's documentation and found out the following: "Generic classes take a type as a parameter within square brackets []. One convention is to use the letter A as type parameter identifier, though any parameter name may be used." (source: http://docs.scala-lang.org/tutorials/tour/generic-classes.ht...).
OP here: I'm a back-end dev working on an internal company site. I have used jQuery for the past years for things like simple AJAX and manipulationg dropdowns. Recently I had to build an AJAX heavy part of the page, and got a bit lost in callbacks and DOM manipulations (1500+ lines already). There is no real reason to re-code everything, now it's working, but after seeing all the new shiny frameworks, I started to question my ability to maintain the code of this specific page ("Wouldn't this framework be better and easier to read/debug/extend?"). Still, don't know if one javascript-heavy page is enough to bring a new framework in the project and start over again.