This is the "all killer, no filler" version of my previous talks on implementing the Y Combinator in Go.
The deck starts by explaining the problem the Y Combinator solves, then introduces the concept of the untyped lambda calculus and how that can be used to implement a near-unreadable version of the Y Combinator in Go.
It then goes through a number of refactoring steps in which meaningful names are introduced for the various component parts of the Y Combinator, concluding with a fully typed version which includes automated memoisation of previously calculated variables.