Abstract
Composition in Go is much more than the mechanics of type embedding and reuse. Composition is about decoupling code from change. What is brilliant about Go is that we can write code that decouples itself from change without the need to write generalized layers of abstraction. Those who are new to Go tend to struggle with this concept because of years of OOP. In this talk, I will explain where the struggles come from and how to think about decoupling from a Go perspective.