struct Page<T: Hashable>: Hashable, Identifiable { var id = UUID() var index: Int var object: T } struct InfinitePagingView<T: Hashable, Content: View>: View { @Binding var objects: [T] @State var title: String = "" @State var pages: [Page<T>] @State var selection: Page<T> @State var previousPage: Page<T> private let pagingHandler: (PageDirection) -> Void private let content: (T) -> Content init(