What type is self in a Swift self-executing anonymous closure used to initialize a stored property?

We have likely all (perhaps unknowingly) used a self-executing anonymous closure in our Swift code. Indeed, one use is when initializing stored properties for a type. In this post, Jesse Squires describes a situation he encountered when using such a closure that led to the discovery of unexpected behavior in Swift.