What does @main do in Swift 5.3?

Swift 5.3 introduced the @main attribute, providing a way to designate a type as the entry point of a Swift program. In this post, Keith Harrison shares what he learned when he investigated how iOS and Swift programs start when using this attribute.