Why does the closure stored in the array force the `@escaping` annotation here?var handlers: [() -> Void] = [] func register(_ work: () -> Void) { // needs @escaping handlers.append(work) }