note: This is not yet another introduction to monads. Monads, monads, monads.... it seems that there can not be a single Scala conference without mentioning the "M" word at least once. I heard so many times that FP is so pointlessly detached from real-world problems. That it adds nothing but unnecessary complexity - obfuscating both problem and solution of already hard to comprehens domain. This talk is about Functional Programming in general. It covers some of thegobbledygook like Functors or Applicatives, but it is more about core concepts really: handling complexity in comprehansible, modular manner. It is a about power of abstraction - undervalued, powerful concept.We will not be talking about monads. I promise.