Why does `handlers` switch between `NSArray` and `NSMutableArray` depending on the recent operation?