Functional programming constructs have risen in popularity in recent years, driven by the Big Data hype. The object-oriented paradigm is likely to remain dominant, but there is opportunity to enrich our toolboxes by picking up some instruments from the functional world. We will present a set of functional constructs applicable for asynchronous programming, error handling, and data processing. We will skip past basic and now well-known functional constructs, such as lambdas, streams, map, and reduce, and focus on techniques that are not yet part of most object-oriented programmers’ toolboxes: reactive patterns, currying, disjunctions, lenses, and more. The constructs presented will be applicable in familiar, object-oriented contexts, and not require a functional mindset.