Given this code, what happens at compile time and runtime?struct Box { var handler: () -> Void = {} mutating func setup() { handler = { self.handler = {} } } }