Every time we solve an everyday programming problem we learn from its solution. When we come across a similar problem later on, we think “aha! I’ve seen this before! I know how to solve it!”. Many of us are also familiar with design patterns, which are abstractions that solve entire classes of problems. There also exists, however, a different kind of pattern. But, as opposed to help you structure a whole compiler or business application, these patterns love hiding in small things like methods or functions, or even binary operations. They whisper to you when you concatenate two strings. They leave a trail of breadcrumbs every time you map over a list. These abstractions have superpowers, too. They can separate the what from the when, or even from the how. They can add together things other than numbers. They can control time, or take over the control flow of your program entirely. In this talk you will discover the amazing power of small abstractions. After that you’ll start hearing their whispers and seeing their breadcrumb trails. And only then you will be ready to let them unfold their full potential in your programs.