Go is not a functional language. Not by a long shot. But that doesn't mean we can't leverage principles from the domain of functional programming when designing our Go programs.
Sam demonstrates this by laying out the foundational design principles behind dep, which is built atop concepts of memoization and immutability.